Могу ли я использовать Microsoft Graph API для получения идентификатора папки в библиотеке документов sharepoint?

#microsoft-graph-api

#microsoft-graph-api

Вопрос:

Можно ли использовать Microsoft graph api для получения идентификатора папки в библиотеке документов sharepoint? Если да, то как?

Я вижу в документации, что я могу получить путь к папке и / или файлу и выполнять запросы на основе этого пути. Но я хотел бы получить идентификатор, чтобы, если папка и / или файл когда-либо меняли имя, я все равно мог запросить эту конкретную папку и / или файл. Возможно ли это?

В частности, я создаю внутреннюю панель мониторинга для своих сотрудников. У нас есть папка в библиотеке документов sharepoint под названием «Контакты». В этой папке «Контакты» у нас есть n вложенных папок, таких как «Джон Доу», «Джейн Доу» и т. Д. Если сотрудник просматривает информацию для John Doe на нашей внутренней панели управления сотрудниками, я бы хотел отобразить любые дочерние папки и / или файлы John Doe.

Опять же, все, что я могу найти в документации graph api, — это как выполнять запросы на основе относительного пути. Я хотел бы иметь возможность использовать API для получения идентификатора для любой папки и / или файла, а также для возврата любых дочерних объектов любой папки с использованием идентификатора (а не относительного пути). Как я могу это сделать?

Комментарии:

1. Да, вы можете получить идентификатор папки, используя приведенный ниже вызов https://graph.microsoft.com/v1.0/sites/siteid/drives/{document libraryid}/root/children . Это даст вам все файлы и папки в вашей библиотеке документов. Если вы ищете идентификатор библиотеки документов, вы можете использовать https://graph.microsoft.com/v1.0/sites/siteid/drives . Это дает вам идентификатор библиотеки документов

2. @Shiva-MSFTIdentity Этот первый вызов api, которым вы делитесь, предоставит мне все файлы и папки в библиотеке документов. Но как только я узнаю идентификатор определенной папки, есть ли способ получить список дочерних папок и файлов в этой конкретной папке и вернуть результаты только на один уровень? Например, предположим, что в root у меня есть Folder1, Folder2, Folder3. И, допустим, Folder1 содержит дочернюю подпапку и FileX. И, допустим, вложенная папка содержит дочерние файлы FileQ и FileW. Я бы хотел, чтобы запрос использовал идентификатор для Folder1 и извлекал только вложенную папку и FileX. Возможно ли это?

3. Да, это возможно. Вы должны использовать приведенный ниже запрос https://graph.microsoft.com/v1.0/sites/{siteid}/drives/{document libraryid}/items/{folderid}/children . Если вы хотите получить идентификатор папки, используйте этот вызов https://graph.microsoft.com/v1.0/sites/{siteid}/drives/{document libraryid}/root/children и получите идентификатор папки :)-

4. Перемещение этого в ответ

Ответ №1:

Да, это возможно. Вы должны использовать следующий запрос

 https://graph.microsoft.com/v1.0/sites/{siteid}/drives/{document libraryid}/items/{folderid}/children. 
  

Если вы хотите получить идентификатор папки, используйте этот вызов

 https://graph.microsoft.com/v1.0/sites/{siteid}/drives/{document libraryid}/root/children and get the id of the folder