Анонимная редактируемая ссылка не позволяет редактировать файл Excel

#c# #excel #microsoft-graph-api #microsoft-graph-sdks

#c# #преуспеть #microsoft-graph-api #microsoft-graph-sdks

Вопрос:

Я хочу создать редактируемую анонимную ссылку для файла Excel из библиотеки документов SharePoint. Согласно документации Microsoft Graph C # SDK, я должен иметь возможность использовать createLink API с этим кодом.

 var driveItem = await graphClient.Drive
                    .Items[itemId]
                    .CreateLink("edit", "anonymous", null, null, null)
                    .Request()
                    .PostAsync();

return driveItem.Link.WebUrl;
 

Но с помощью созданной ссылки я могу просматривать только файл Excel. Ссылка не позволяет редактировать файл Excel. Как я могу создать ссылку для файла Excel?

Кроме того, тот же код работает с файлами MS Word.

Я использую библиотеку документов Share Point и вызываю API-интерфейсы через Microsoft graph Explorer.

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

1. Когда вы вызываете createLink через Graph Explorer, что вы получаете в ответ? («роли»: [ «?» ], «ссылка»: { «Предотвращение загрузки»: ?, «область действия»: «?», «тип»: «?»}

2. Если у вас есть этот документ Excel в библиотеке документов sharepoint, вы должны указать siteid, driveid, а затем itemid в своем коде, что-то вроде этого graphClient.Sites["siteid"].Drives["driveid"] .Items[itemId] .CreateLink("edit", "anonymous", null, null, null) .Request() .PostAsync(); , это сработало для меня

Ответ №1:

Если у вас есть этот документ Excel в библиотеке документов sharepoint, вы должны указать siteid, driveid, а затем itemid в своем коде, что-то вроде этого.

 graphClient.Sites["siteid"]
    .Drives["documentlibraryid"]
    .Items["itemId"]                     
    .CreateLink("edit", "anonymous", null, null, null)
    .Request()                     
    .PostAsync();
 

Таким образом, я смог отредактировать файл Excel, не регистрируясь как анонимный. Я также протестировал его в POSTMAN, который также отлично работал.

введите описание изображения здесь