#android #api #okhttp
Вопрос:
Я пытаюсь отправить данные через API с помощью Okhttp
, но показываю мне ошибку,
Ошибка «Запрещена»
На изображении Также показан объект JSON, который я пытаюсь опубликовать, Требуется форматирование объекта, и я публикую Форматирование объекта-это то же самое, ошибки нет. Где я совершаю ошибку?
Runnable runnable = new Runnable() {
@Override
public void run() {
try{
OkHttpClient okHttpClient = new OkHttpClient();
RequestBody body = RequestBody.create(JSON, String.valueOf(object));
Request request = new Request.Builder()
.url(SendTeam)
.post(body)
.build();
Response response = okHttpClient.newCall(request).execute();
String result = Objects.requireNonNull(response.body()).string();
JSONObject ob = new JSONObject(result);
Log.d("myteampro", "" ob);
Message message = new Message();
Bundle bundle = new Bundle();
bundle.putString("ms", result);
message.setData(bundle);
mHandler.sendMessage(message);
}catch(Exception e) {
e.printStackTrace();
}
}
};
Ответ №1:
Я думаю, это означает, что вам нужно добавить какую-то авторизацию или токен для доступа к публикации по URL-адресу в запросе.
Вы можете проверить код ответа. Если я прав, то это должно быть 403.
Что-то вроде этого:
request = new Request.Builder()
.header("Authorization", "Token " token)
.url(myURL)
.post(body)
.build();
но для вашей строки .header() могут потребоваться другие слова/метки.