我在creating an upload session时收到404 - File name not provided in url
回复。
我的请求看起来像(没有任何正文):
POST /v1.0/drives/{drive-id}/items/{item-id}/createUploadSession
Authorization: bearer <token>
Content-Type: application/json
此问题仅适用于消费者OneDrive,OneDrive for Business正常运行。
答案 0 :(得分:0)
它对我有用:-
POST - https://graph.microsoft.com/v1.0/me/drive/root:/filename.txt:/createUploadSession
In Headers:-
Content-Type : application/json
Authorization: Bearer EwCIA8l6BAAUO...9chh8cJaAg==
In Body:-
{
"item": {
"@odata.type": "microsoft.graph.driveItemUploadableProperties",
"@microsoft.graph.conflictBehavior": "rename",
"name": "filename.txt"
}
}
答案 1 :(得分:0)
我可以使用此URL在个人帐户中上传文件以创建存储会话:
https://graph.microsoft.com/v1.0/me/drive/items/{folderID}:/{fileID}:/createUploadSession
var config = {
method: 'post',
url: 'https://graph.microsoft.com/v1.0/me/drive/items/{folderID}:/{fileID}:/createUploadSession',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer
}
响应:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.uploadSession",
"expirationDateTime": "2020-11-06T14:25:27.662Z",
"nextExpectedRanges": [
"0-"
],
"uploadUrl": {url}
}
然后:
要创建文件,您需要发送PUT请求 {uploadUrl}您在响应中得到。
答案 2 :(得分:-1)
我从未碰过您的特定情况,但我怀疑这是因为OneDrive for Business与您共享的文件夹与您自己的OneDrive for Business属于同一租户。但是,当您从消费者OneDrive访问共享文件夹时,您实际上是在一个完全独立的租户中访问驱动器。
由于使用我建议使用的root:/{path}:/
方法,听起来这种情况可能会导致API确定来自{itemId}
的文件信息的一些问题。我希望确认这一点,以便我可以更新文档。