所以我试图从我正在创建的Android应用程序上传文本文件到我的谷歌驱动器。我学会了如何从Google教程上传图片。另外,我将在文本文件中使用我的应用程序中的字符串。可能,我想把它变成一个电子表格。有什么帮助吗?
答案 0 :(得分:16)
答案 1 :(得分:0)
为此我花了很多时间...我认为文档不是那么好。
这是使用REST API v3的方法。 MULTIPART上载示例
1。步骤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创建多部分
我们使用适当的标题创建请求的第一部分
val metadataPart = MultipartBody.Part.create(
RequestBody.create(MediaType.parse("application/json; charset=utf-8"), metadataJSON)
)
3。第三步-使用文件创建多部分
使用文件
创建请求的第二部分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
通过发送这两个Multipart,您会自动从文档中获得那些-foo_bar_baz 标记
“用边界字符串标识每个部分,并在其后加上两个连字符。此外,在最终边界字符串之后添加两个连字符。”