Microsoft Graph: скачать файл через Rest API - PullRequest
0 голосов
/ 15 марта 2020

Я хочу загрузить содержимое документа sharepoint с помощью API-интерфейса Graph Microsoft.

Когда я показываю детали документа на веб-сайте sharepoint, я вижу следующий путь в деталях документа: My Company Team Site > Documents > My Application > file.xlsx

Подход 1:

Используя обозреватель графиков , я могу выполнить следующий запрос: https://graph.microsoft.com/v1.0/sites/root/drives. Он возвращает один объект с именем "Documents" с этим WebURL: https://myCompany.sharepoint.com/Shared%20Documents

Однако я не знаю, как перейти оттуда и добраться до подэлементов папки, все мои попытки вызвали ошибки HTTP.

Подход 2:

В качестве альтернативы я также попытался «получить сайт sharepoint на основе его относительного пути»: https://graph.microsoft.com/v1.0/sites/myCompany.sharepoint.com:/

Этот запрос также приводит к одному результату с отображаемым именем «Сайт группы моей компании» и идентификатором, похожим на это: myCompany.sharepoint.com,45aaf871-b578-0000-...., но я не уверен, как действовать дальше и как должен выглядеть оставшийся URL.

Вопрос:

Какой правильный подход? Как я могу перебрать «файлы в папке» в sharepoint и как получить siteID / itemID документов / папок, которые я ищу?

Ответы [ 2 ]

1 голос
/ 16 марта 2020

Вы на правильном пути, давайте попробуем соединить точки вместе.

Предполагается, что файл с именем Guide.docx находится в папке Archive в библиотеке

Подход 1

Однако я не знаю, как перейти оттуда к элементам папки, все мои попытки вызвали ошибки HTTP.

Для этого подхода следующий запрос демонстрирует, как загрузить file:

GET https://graph.microsoft.com/v1.0/sites/root/drive/root:/archive/guide.docx:/content

, где :/archive/guide.docx:/ - это синтаксис адресации на основе пути , используемый для назначения файла в папке

Примечание : нет необходимости явно указывать путь к библиотеке (Shared Documents), поскольку это диск по умолчанию

Подход 2

Этот запрос также дает один результат с отображаемым именем «Сайт группы моей компании» и идентификатором, похожим на это: myCompany.sharepoint.com, 45aaf871-b578-0000 -...., но я не убедитесь, как действовать дальше и как должен выглядеть оставшийся URL.

Поскольку определяется siteId (myCompany.sharepoint.com,45aaf871-b578-0000..), выполните следующие действия. В запросе показано, как обращаться к файлу с помощью site id и file path:

GET https://graph.microsoft.com/v1.0/sites{site-id}/drive/root:/archive/guide.docx:/content

Ссылки

Адресация ресурсов в накопителе на OneDrive

1 голос
/ 16 марта 2020

Получить идентификатор сайта:

https://graph.microsoft.com/v1.0/sites/yourtenant.sharepoint.com:/sites/lee

Получить файлы (идентификатор элемента) в вашей папке. (папка под моей тестовой библиотекой-> MyDOc / Folder)

https://graph.microsoft.com/v1.0/sites/siteid/drives/b!kan3K2m2N0Ww9Vn31kUuSLJVeywG43tAsaIcpv7Mme1FME9qbHnDRJrbrhnPTRCs/root:/folder:/children
...