По какой причине в моем коде отображается ошибка : Запрещено?

#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() могут потребоваться другие слова/метки.