我已经成功上传和下载文件和下载的文件元数据使用Xamarin.auth 1.5从OneDrive和Dropbox。除非我上传一个我无法命名文件的文件(显示为无字(,我无法更新文件上传后。
以下是用于上传文件(创建(的代码:文件的数据在流中。范围是https://www.googleapis.com/auth/drive。
URI uri = new Uri("https://www.googleapis.com/upload/drive/v3/files?uploadType=media");
OAuth2Request requestUpload = new OAuth2Request("POST", uri, null, (Account)authAccount);
requestUpload.AddMultipartData("body", stream, "application/json", dataFileName);
var responseUpload = await requestUpload.GetResponseAsync();
要更新文件,我尝试将文件ID添加到文件后的URL(例如文件/文件ID(和我收到system.net.httpstatuscode.notfound,我知道fileid是正确的,因为我是能够使用相同的文件ID下载文件。使用FileID,我还尝试使用方法补丁但是我收到了Xamarin.auth错误。
为了重命名文件,我尝试使用两个Addmultipartdata,一个用于数据,另一个用于元数据(名称(具有正确的格式,并添加了所有addmultipartdata元数据在文件中带有身体数据。我尝试在一个addmultipartdata中添加数据和元数据结果与使用两个结果相同。
对于重命名和更新,我尝试了所有类型的组合,例如不同的上传类型,没有/上传,方法put,idictionary参数,仅举几例。
有人知道该怎么做吗?感谢任何帮助或建议。
xamarin.auth与Google Drive API无关。它只是为您带来的令牌。
我只能想到的是xamarin.auth在补丁过程中拦截了一些例外,并重新插入为xamarin.auth例外。
我建议 - 在github上发行。并在社区懈怠中ping我。