1

我在做上傳文件,下面來onedrive:一個驅動器多部分上傳錯誤HTTP 400錯誤的請求

HTTP POST https://apiis.live.net/v5.0/{foldid}/files?access_token={ACCESS_TOKEN} 

Content-Type: multipart/form-data; boundary={boundary} 

--{boundary} 
Content-Disposition: form-data; name="file"; filename="{filename}" 
Content-Type: application/octet-stream 

{File content goes here} 
--{boundary} 

由我遵循https://msdn.microsoft.com/en-us/library/office/dn659726.aspx

引導它總是給我錯誤「java.lang.Exception:HTTP 400.錯誤的請求」。 一個車隊或任何人會幫助我提供意見是什麼問題?

感謝和問候, 羅納德

回答

1

看來你的要求的格式不正確。
我不知道一個驅動器是如何工作的,但在對鏈接進行簡要概述後,您是否嘗試在「POST」標頭之前刪除「HTTP」?

或者您的文件內容是否正確發送?

1

來自url,https://apis.live.net/v5.0/{folderid}/files?access_token={ACCESS_TOKEN},這表示您使用的是過時的LiveConnect API。我會建議使用位於https://api.onedrive.com與這裏描述https://dev.onedrive.com/items/upload_put.htm上傳方法支持的API,其中請求不需要多部分MIME架構

PUT .../drive/root:/{parent-path}/{filename}:/content 
Content-Type: text/plain 

The contents of the file goes here. 

獲取有關這些API在https://dev.onedrive.com更多信息,如果更新的上傳方法還是引起您遇到麻煩了,請確保包含完整的HTTP響應標頭和正文。

+0

非常感謝您的評論!我可否知道如果我想上傳大文件,需要使用https://dev.onedrive.com/items/upload_post.htm中的multipart嗎? 另一方面,url是「PUT .../drive/root:/ {parent-path}/{filename}:/ content」,意思是「https://api.onedrive」。 COM/V1.0" ? – user3252033

+0

對不起,我很新,做的onedrive開發,從URL,不需要它訪問令牌或我應該在哪裏使用訪問令牌類?謝謝!!! – user3252033

+0

對OneDrive服務的每個請求都應包含如下標頭:'Authorization:Bearer AbCdEf123456'您可以使用與apis.live.net服務一起使用的相同身份驗證令牌 –