Cloudrail - OneDrive API: запрос расширенного поиска завершается неудачно
Я использую cloudrail Node.Js v2.17.3.
Я должен сделать расширенный запрос на API OneDrive.
Часть аутентификации и получение / хранение учетных данных успешно выполнены. Вот запрос, который я должен сделать (согласно документу OneDrive): /drive/root/search(q='IMG_001.jpg')
Конечно, файл присутствует в моей учетной записи OneDrive.
Вот код:
const req = new cloudrail.types.AdvancedRequestSpecification("/drive/root/search(q='IMG_001.jpg')");
req.setMethod("GET");
req.setHeaders({"Content-Type": "application/json"});
service.advancedRequest(req, (err, res) => {
console.log(err, res);
});
Err.message говорит: "Неверный API или ресурс".
Однако, когда я пытаюсь выполнить простой запрос "/drive/root/children", он работает...
Заранее спасибо.
1 ответ
Microsoft недавно представила свой новый API Graph, который, насколько я знаю, используется всеми сервисами. Таким образом, документация, на которую вы ссылаетесь, относится к новому API. Попробуйте вместо этого использовать '/drive/items/{the_folder_id или root}/view.search?q=txt'. Вам также может понадобиться URL кодировать параметр. Таким образом, самое безопасное решение, вероятно, будет следующим:
const url = "/drive/items/root/view.search?q=" + encodeURIComponent("[search query]");
const req = new cloudrail.types.AdvancedRequestSpecification(url);
req.setMethod("GET");
service.advancedRequest(req, (err, res) => {
console.log(err, res);
});