Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';t使用REST API上传到OneDrive Business_Android_Office365_Retrofit_Okhttp_Onedrive - Fatal编程技术网

Android Can';t使用REST API上传到OneDrive Business

Android Can';t使用REST API上传到OneDrive Business,android,office365,retrofit,okhttp,onedrive,Android,Office365,Retrofit,Okhttp,Onedrive,我在将文件上载到Android中的OneDrive业务帐户时遇到问题 我正在使用这里描述的上传API(简单和可恢复对我来说都不起作用): 其他一切都很好。我可以浏览、创建文件夹、删除、重命名和下载文件。我对常规OneDrive使用了相同的实现,并且可以正常工作。我也用官方的OneDrive Android应用程序进行了测试,并且上传工作正常,所以我的OneDrive Office 365帐户似乎没有权限问题 我正在使用翻新/OkHttp 这是查询中的日志: OkHttp: --> PUT

我在将文件上载到Android中的OneDrive业务帐户时遇到问题

我正在使用这里描述的上传API(简单和可恢复对我来说都不起作用):

其他一切都很好。我可以浏览、创建文件夹、删除、重命名和下载文件。我对常规OneDrive使用了相同的实现,并且可以正常工作。我也用官方的OneDrive Android应用程序进行了测试,并且上传工作正常,所以我的OneDrive Office 365帐户似乎没有权限问题

我正在使用翻新/OkHttp

这是查询中的日志:

OkHttp: --> PUT https://<tenantname>-my.sharepoint.com/_api/v2.0/drive/items/root:/pricelist.pdf:/content HTTP/1.1
OkHttp: Content-Type: application/pdf
OkHttp: --> END PUT

OkHttp: <-- 500 Internal Server Error https://<tenantname>-my.sharepoint.com/_api/v2.0/drive/items/root:/pricelist.pdf:/content (831ms)
OkHttp: Cache-Control: private, max-age=0
OkHttp: Transfer-Encoding: chunked
OkHttp: Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
OkHttp: Expires: Mon, 01 Feb 2016 22:09:26 GMT
OkHttp: Last-Modified: Tue, 16 Feb 2016 22:09:26 GMT
OkHttp: Server: Microsoft-IIS/8.5
OkHttp: X-SharePointHealthScore: 0
OkHttp: X-SP-SERVERSTATE: ReadOnly=0
OkHttp: ODATA-VERSION: 4.0
OkHttp: SPClientServiceRequestDuration: 92
OkHttp: X-AspNet-Version: 4.0.30319
OkHttp: SPRequestGuid: e5e45f9d-80fa-3000-9580-b34e009cc4be
OkHttp: request-id: e5e45f9d-80fa-3000-9580-b34e009cc4be
OkHttp: Strict-Transport-Security: max-age=31536000
OkHttp: X-FRAME-OPTIONS: SAMEORIGIN
OkHttp: X-Powered-By: ASP.NET
OkHttp: MicrosoftSharePointTeamServices: 16.0.0.4921
OkHttp: X-Content-Type-Options: nosniff
OkHttp: X-MS-InvokeApp: 1; RequireReadOnly
OkHttp: P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
OkHttp: Date: Tue, 16 Feb 2016 22:09:25 GMT
OkHttp: OkHttp-Sent-Millis: 1455660569448
OkHttp: OkHttp-Received-Millis: 1455660570267
OkHttp: <-- END HTTP
TransferFileTask: Exception when transferring file
HttpException: OneDrive error: code = -1, System.IO.IOException, message = I/O error occurred.
OkHttp:-->PUThttps://-my.sharepoint.com/_api/v2.0/drive/items/root:/pricelist.pdf:/content HTTP/1.1
OkHttp:内容类型:应用程序/pdf
OkHttp:-->结束输出

OkHttp:证明这是由于缺少内容长度头造成的。这一点被错误地忽略了。显然,Regulear OneDrive并不在意,而且运行良好,但OneDrive业务需要标题