Загрузка Zip-файла на Google Drive в Android - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь загрузить ZIP-файл на Google Drive.

Используемый мной API:

https://www.googleapis.com/upload/drive/v3/files

Отправляемый мной заголовок:

uploadType: multipart / form-data

Тип содержимого: application / zip

Граница содержимого: foo_bar_baz

Авторизация: Bearer ya29.il-ByMiaTze0B3JTZKkzRLLIW0hTQfHorp7ISgiyM2xlsBqb0N_zie9Hr3CMMz56_8NoIHy_O4n3iwop5Sox3mN52LrSnRHaX-dwmB1uTm-wCHrNnsjsJeyKGn5bzpE0g

В теле я загружаю файл почтового индекса в параметре имени

1021 * Она была успешно загружена, и я получил следующий ответ:. 1023 *

Здесь я сталкиваюсь с двумя проблемами:

  1. Имя отображается без названия.
  2. Когда я пытаюсь загрузить этот zip-файл с помощью следующего API: https://www.googleapis.com/drive/v3/files/1WFGJcDnC72PtXFpIAwz7zsRcQ8yLY9GA?alt=media

выдает ошибку.

Чтобы попасть в этот API, я отправляю авторизацию в шапке.

Загрузка кода Zip-файла:

void uploadMedia() {

    File file = zipFolder(new File(Environment.getExternalStorageDirectory()+"/Xyz/"));
    HashMap<String, RequestBody> para=new HashMap<>();
    String strFile = "name" + Constant.HALF_IMAGE_PART_RETROFIT + file.getName();
    para.put(strFile, RestClients.MultiPartBody(file));

    Call<JsonObject> call= RestClients.getRestClientWithGoogleDrive().uploadImage("multipart HTTP/1.1", "Bearer "+token,"application/zip", "application/zip","foo_bar_baz",para);
    call.enqueue(new Callback<JsonObject>() {
        @Override
        public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {

            Toast.makeText(activity,"media_uploaded",Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onFailure(Call<JsonObject> call, Throwable t) {
            Toast.makeText(activity,"media_fail",Toast.LENGTH_SHORT).show();
        }
    });
}

Почтовый запрос:

@Multipart
@POST(UrlConstants.URL_UPLOAD)
Call<JsonObject> uploadImage (@Header("uploadType") String query ,
                              @Header("Authorization") String header,
                              @Header("X-Upload-Content-Type") String type,
                              @Header("Content-Type") String contentType,
                              @Header("Content-boundary") String boun,
                              @PartMap HashMap<String, RequestBody> para);

Пожалуйстадайте мне знать, если вам нужно что-нибудь еще.

...