Я хочу создать файл в центре документов Sharepoint с помощью Microsoft Graph. NET Клиентская библиотека. Кажется, что я могу успешно создать файл, но он не виден никому, кроме приложения, которое его создало. Когда приложение создает файл в «обычной» библиотеке документов с точно таким же кодом, этот файл виден другим пользователям (как и ожидалось).
Вот код, который я использую:
var result = await client.Drives[documentCenterDriveId]
.Items[subfolderId]
.ItemWithPath(fileName)
.Content
.Request()
.PutAsync<DriveItem>(new MemoryStream(buffer));
После этого я могу запросить папку и увидеть, что файл там есть:
var result = await client.Drives[documentCenterDriveId]
.Items[subfolderId]
.Children
.Request()
.GetAsync();
Однако, когда go в Microsoft Graph Explorer, войдите в систему с моими личными учетными данными (т.е. не такими, как приложение) и выдайте следующий запрос GET
https://graph.microsoft.com/v1.0/drives/documentCenterDriveId/items/subfolderId/children
Я получаю пустой список. Если я сделаю то же самое для «обычной» библиотеки документов, она будет работать, как и ожидалось.
Я проверил разрешения файла в центре документов с
var perms = await client.Drives[documentCenterDriveId]
.Items[fileId]
.Permissions
.Request()
.GetAsync();
и ролью read
предоставляется группе, к которой принадлежит мой аккаунт. Это означает, что я должен быть в состоянии видеть это.
Как я могу диагностировать источник этой проблемы? Есть ли где-нибудь в Sharepoint журналы, где я мог бы узнать больше? Когда я запускаю свой код, нет сообщений об ошибках или исключений.