[英]How to upload a file to Google Drive
所以我试图从我正在创建的Android应用程序上传文本文件到我的谷歌驱动器。 我学会了如何从Google教程上传图片。 另外,我将在文本文件中使用我的应用程序中的字符串。 可能,我想把它变成一个电子表格。 有帮助吗?
我花了这么多时间......在我看来,文档.....不是那么好。
这是REST API v3应该如何完成的。 MULTIPART UPLOAD示例
1.第一步 - 使用METADATA创建JSON
例如:
data class RetrofitMetadataPart(
val parents: List<String>, //directories
val name: String //file name
)
现在创建一个JSON(我用过moshi)
val jsonAdapter = moshi.adapter<RetrofitMetadataPart>(RetrofitMetadataPart::class.java)
val metadataJSON = jsonAdapter.toJson(
RetrofitMetadataPart(
parents = listOf("yourFolderId"),
name = localFile.name
)
)
当然,您可以使用不同的参数,值以及您首选的方式创建此元数据。 您在此处拥有的完整元数据参数列表: https : //developers.google.com/drive/api/v3/reference/files/create
2.第二步 - 使用METADATA创建Multipart
我们用合适的标题创建我们请求的第一部分
val metadataPart = MultipartBody.Part.create(
RequestBody.create(MediaType.parse("application/json; charset=utf-8"), metadataJSON)
)
3.第三步 - 使用您的文件创建Multipart
使用file创建请求的第二部分
val multimediaPart = MultipartBody.Part.create(
RequestBody.create(MediaType.parse("image/jpeg"), localFile)
)
4.第四步 - 呼叫请求
googleDriveApi.uploadFileMultipart(
metadataPart,
multimediaPart
)
并且这个调用
@Multipart
@POST("upload/drive/v3/files?uploadType=multipart")
fun uploadFileMultipart(
@Part metadata: MultipartBody.Part,
@Part fileMedia: MultipartBody.Part
): Completable
通过发送这两个Multiparts,您可以自动获得文档中的--foo_bar_baz标记
“使用边界字符串标识每个部分,前面有两个连字符。此外,在最后的边界字符串后添加两个连字符。”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.