Ответ 1
Читайте Быстрый старт на сайте Google Android.
Когда вы закончите со всем процессом аутентификации, перейдите к разделу Как загрузить файл на Google Drive.
редактировать
Ссылки Ссылки
Итак, я пытаюсь загрузить текстовый файл на мой Google-накопитель из приложения Android, которое я создаю. Я узнал, как загрузить изображение из учебника Google. Кроме того, я буду использовать строки из своего приложения в текстовом файле. Потенциально, я хочу сделать это электронной таблицей. Любая помощь?
Читайте Быстрый старт на сайте Google Android.
Когда вы закончите со всем процессом аутентификации, перейдите к разделу Как загрузить файл на Google Drive.
редактировать
Ссылки Ссылки
Я потратил на это столько времени... По моему мнению, документация... не так уж и велика.
Вот как это должно быть сделано с REST API v3. MULTIPART ЗАГРУЗИТЬ пример
1. ШАГ ПЕРВЫЙ - Создайте JSON с METADATA
Например:
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. ШАГ ВТОРОЙ - Создайте Multipart с METADATA
Мы создаем первую часть нашего запроса с соответствующим заголовком
val metadataPart = MultipartBody.Part.create(
RequestBody.create(MediaType.parse("application/json; charset=utf-8"), metadataJSON)
)
3. ШАГ ТРЕТИЙ - Создайте Multipart с вашим ФАЙЛОМ
Создайте вторую часть нашего запроса с файлом
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 отметки из документации
"Обозначьте каждую часть граничной строкой, которой предшествуют два дефиса. Кроме того, добавьте два дефиса после последней граничной строки".