[英]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.