Действительно, в случае, если сайт адресуется по URL-адресу сервера , следующий запрос
GET https://graph.microsoft.com/v1.0/sites/{hostname}:/{server-relative-path}:/drive
успешно выполняется и возвращает диск по умолчанию, а следующее :
GET https://graph.microsoft.com/v1.0/sites/{hostname}:/{server-relative-path}:/drive/root
завершается ошибкой и возвращает ошибку Url specified is invalid.
Кажется, это ошибка в самом Microsoft Graph. В любом случае можно использовать следующую опцию для загрузки файла в библиотеку.
Предполагается, что
blockquote>siteUrl
соответствует относительному URL сервера сайта, аlistId
- уникальному идентификатору библиотеки. Он состоит из следующих шагов:
[ 1126]разрешить сайт по относительному URL сервера получить доступ к корневой папке для библиотеки загрузить файл
Пример
[ 1124], где//1.resolve site by server relative url var targetSite = await graphClient.Sites.GetByPath(siteUrl,hostName).Request().GetAsync(); //2.access root folder for for a Library var targetFolder = graphClient.Sites[targetSite.Id] .Lists[listId] .Drive .Root; //3.Upload a file var pathToFile = @"c:\Temp\Guide.docx"; using (var fileStream = new FileStream(pathToFile, FileMode.Open, FileAccess.Read)) { var uploadedItem = await targetFolder .ItemWithPath("Guide.docx") .Content .Request() .PutAsync
(fileStream); }
hostName
- имя хоста семейства сайтов (например,contoso.sharepoint.com
)siteUrl
- URL-адрес сайта сервера, например,/sites/management
мне удалось сделать это с событиями клавиатуры & присвоение ярлыка.
Примечание:
, если "Ваше приложение" является внешней утилитой (я записал мое в Python), затем он не должен вызывать окно, иначе/your-app/украдет фокус и получит изменение языка. в Python я решил его при помощи GUI меньше pyw имя файла сценария. (или вызовите сценарий с pythonw.exe)
эта статья шоу, как отправить события клавиатуры в Python:
https://python-decompiler.com/article/2012-11/how-to-generate-keyboard-events-in-python