由于Google Drive Android SDK将不推荐使用,因此我打算在GOOGLE REST API V3使用Docs为我的应用编写rest api,但是storing files to app folder您需要使用Java或其他工具的google-api客户端库
我只想使用REST API将文件上传到Appfolder,就像在REST API中简单/多部分/可恢复上传文件一样。
但是在以下版本的2.5.0升级中,文件无法使用以下请求上传
@Multipart
@PATCH
Call<DIFile> patch(@Url String endpoint,
@HeaderMap Map<String, String> headerMap,
@Part File file);
上传的图像文件已损坏,文本文件包含其他内容。
答案 0 :(得分:2)
我通过删除多部分注释并将部分更改为正文解决了我的问题。 实际上,谷歌的要求分为两部分。 在第一部分中,您需要将元数据上传到该URL
https://www.googleapis.com/drive/v3/files
使用以下POST
请求
{"name":"wow.gif","parents":["appDataFolder"]}
这将创建文件的元数据,并返回名称和文件的ID。
接下来,您需要发送另一个请求,但是这次是方法PATCH
https://www.googleapis.com/upload/drive/v3/files/{file-id}
使用上一个请求中的文件ID创建这样的二进制请求
@PATCH
Call<DIFile> patch(@Url String endpoint,
@HeaderMap Map<String, String> headerMap,
@Body RequestBody file);
并像这样创建请求正文
RequestBody body = RequestBody.create(MediaType.parse("image/*"), file);
最后,文件内容将上传到指定的ID。