Я использую Microsoft graph для создания веб-приложения, которое загружает файлы в OneDrive.Загрузка файла использует сеанс загрузки.https://docs.microsoft.com/ja-jp/graph/api/driveitem-createuploadsession?view=graph-rest-1.0
загрузка файла завершается неудачно, если целевой учетной записью для загрузки является бизнес-учетная запись.Возникает ошибка: {" error ": {" innerError ": {" code ":" invalidToken "}," code ":" unauthenticated "," message ":" This access token is not valid on this endpoint. "}}
.
. Однако, она будет успешной, если адресат загрузки - это личный аккаунт. Кстати, простая загрузка будет успешной как для бизнеса, так и для личного пользователя.Знаете ли вы, есть ли какие-либо меры?
Ниже описана процедура загрузки.
(1)
POST /me/drive/root:/sample.txt:/createUploadSession
Authorization: Bearer {bearer token}
Content-Type: application/json
{
"item": {
"@microsoft.graph.conflictBehavior": "rename",
"name": "sample.txt"
}
}
(2) ответ
HTTP/1.1 200 OK
Content-Type: application/json
{
"uploadUrl": "https://our-tenant-my.sharepoint.com/personal/our_tenant_onmicrosoft_com/_api/v2.0/drive/items/aaaa/uploadSession?guid='example'&path='example'&overwrite=False&rename=True&dc=0&tempauth=example",
"expirationDateTime": "2019-05-24T05:07:08.728Z"
}
(3) Загрузка байтов в сеанс загрузки
PUT https://our-tenant-my.sharepoint.com/personal/our_tenant_onmicrosoft_com/_api/v2.0/drive/items/aaaa/uploadSession?guid='example'&path='example'&overwrite=False&rename=True&dc=0&tempauth=example
(4) ошибка возврата
HTTP/1.1 401
{"error":{"innerError":{"code":"invalidToken"},"code":"unauthenticated","message":"This access token is not valid on this endpoint."}}
Кстати, в случае личной учетной записи uploadUrl ответа составляет
https://api.onedrive.com/rup/example/more~~~
Вернется.
Я могу загрузить с этим путем.UploadUrl отличается в личном и служебном аккаунте, связано ли это с этой ошибкой?Есть ли способ решить эту проблему?