Я пытаюсь загрузить 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 *
Здесь я сталкиваюсь с двумя проблемами:
- Имя отображается без названия.
- Когда я пытаюсь загрузить этот 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);
Пожалуйстадайте мне знать, если вам нужно что-нибудь еще.