Microsoft Graph - проверить наличие файла в папке - PullRequest
0 голосов
/ 25 марта 2020

Учитывая имя файла и идентификатор папки, есть ли URL ресурса, который я могу использовать, чтобы увидеть, существует ли файл в папке? Что-то вроде / me / drive / items / {parent-id} / {name} кажется логичным.

Сейчас я делаю / me / drive / items / {parent-id} / children и ищу в результирующий массив который работает. Но эй.

спасибо

1 Ответ

0 голосов
/ 29 марта 2020

Следующие запросы работают с Graph Explorer без какой-либо аутентификации. В демонстрационных данных, предоставленных Microsoft, в подпапке «Бизнес-данные» есть файл с именем «Sales by Category.xlsx». Вот варианты, чтобы проверить, существует ли этот файл:

  1. Поиск по всему диску:

GET:

https://graph.microsoft.com/v1.0/me/drive/root/search(q='Sales by Category.xlsx')
Поиск в указанной папке c по всем подпапкам с использованием идентификатора подпапки:

GET:

https://graph.microsoft.com/v1.0/me/drive/items/01BYE5RZ5MYLM2SMX75ZBIPQZIHT6OAYPB/search(q='Sales by Category.xlsx')
Поиск в указанной папке c по всем подпапкам с использованием релятивного пути:

GET:

https://graph.microsoft.com/v1.0/me/drive/root:/Business%20Data:/search(q='Sales by Category.xlsx')
Прямой доступ к файлу через Graph с использованием относительного пути

GET:

https://graph.microsoft.com/v1.0/me/drive/root:/Business%20Data/Sales%20by%20Category.xlsx

Если вы хотите искать только в указанной подпапке c в Папка, вам нужно указать папку до выражения поиска, используя либо обозначение идентификатора элемента, относительный путь или их комбинацию. Подпапки ищутся по умолчанию. Вариант 4 интуитивно понятен и, кажется, быстрее, но он выдаст ошибку 404, если элемент не найден. Администратору Azure это может не понравиться, поскольку это должно отображаться в их журналах. Параметры поиска не приведут к ошибке и вернут только пустой результат. Так что поиск может быть лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...