#microsoft-graph-api #onedrive #office365api
#microsoft-graph-api #onedrive #office365api
Вопрос:
Мы хотим загружать файлы через службу REST в наш OneDrive. В службе REST мы вызываем Microsoft Graph API, но я получаю ошибку 401, которая, как я предполагаю, связана с проблемой авторизации, мне интересно, каков наилучший подход здесь?
Весь процесс отлично работает в нашем веб-приложении.
Я предоставил разрешение приложению на портале Azure Active Directory и подтвердил согласие на
https://login.microsoftonline.com/<tenant>/adminconsent?client_id=<client-id>
Затем попытался получить токен
url = "https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token"
"client_id": credential.clientid
"client_secret", credential.clientsecret
"scope", "https://graph.microsoft.com/.default"
"grant_type", "client_credentials"
Я все еще получал ошибку 401.
Затем я исправил разрешения, теперь я получаю access_token, теперь я сначала проверил, существует ли файл в определенной папке в OneDrive, если нет, то загрузите файл.
Но теперь я получаю следующую ошибку:
{
"statuscode": 403,
"body": "{rn "error": {rn "code": "AccessDenied",rn "message": "Either scp or roles claim need to be present in the token.",rn "innerError": {rn "date": "2020-08-13T10:12:33",rn "request-id": "338a2758-m7e0-4289-bnna-45pb14c79efa"rn }rn }rn}"
}
Я использовал следующий API для проверки, существует ли файл:
"https://graph.microsoft.com/v1.0/sites/<siteid>/drive/root:/<filePath>:/children"
Я не уверен, какие роли / разрешения мне нужно установить.