В моем приложении android я использую ok http:3.10.0, чтобы создать httpclient, чтобы сделать запрос к Google Drive (REST V3) api. Я хочу создать папку на Google Диске пользователей. Я прочитал документацию Google , чтобы создать папку. В этой документации предлагается иметь что-то вроде этого
File fileMetadata = new File();
fileMetadata.setName("Invoices");
fileMetadata.setMimeType("application/vnd.google-apps.folder");
Я также рассмотрел этот вопрос . Я делаю okhttpclient вот так
OkHttpClient client = new OkHttpClient();
RequestBody body = ????????
Request request = new Request.Builder()
.url("https://www.googleapis.com/drive/v3/files")
.addHeader("Authorization", String.format("Bearer %s", tokens[0]))
.post(body)
.build();
try {
Response response = client.newCall(request).execute();
String jsonBody = response.body().string();
Log.i(LOG_TAG, String.format("User Info Response %s", jsonBody));
return new JSONObject(jsonBody);
} catch (Exception exception) {
Log.w(LOG_TAG, exception);
}
return null;
Я пытаюсь использовать объект json, но он не преобразуется в тело запроса, потому что не может разрешить companion
import okhttp3.MediaType.Companion.toMediaTypeOrNull;
import okhttp3.RequestBody.Companion.toRequestBody;
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("title", "Ancd test");
jsonObject.put("mimeType", "application/vnd.google-apps.folder");
} catch (JSONException e) {
e.printStackTrace();
}
String body = jsonObject.toString().toRequestBody("application/json; charset=utf-8".toMediaTypeOrNull());
Теперь Я не уверен, как добавить эти метаданные в тело запроса. Кто-нибудь знает, как это сделать?