Как решить код ответа 403 из AWS в Android проекте? - PullRequest
1 голос
/ 18 января 2020

Я использую модификацию для выполнения POST-вызова на AWS сервере. Это дает мне следующую ошибку Response{protocol=h2, code=403, message=, url=https://9oe8xt95sj.execute-api.ap-southeast-1.amazonaws.com/voip-dev-wa/staging/Device/registerCustomer}

Мой метод модернизации, как показано ниже

Retrofit retrofit;
        retrofit = new Retrofit.Builder()
                .baseUrl(ApiService.API_BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        apiService = retrofit.create(ApiService.class);

ApiService. java

String API_BASE_URL = "SOME String";

    @POST("registerCustomer")
    @Headers({"Content-Type: application/json", "accept: application/json"})
    Call<RegisterResponse> register(@Body Register register);

Как решить эту проблему?

1 Ответ

0 голосов
/ 20 января 2020

Проблема в том, что я не передал токен доступа в качестве заголовка. Так что отвечает запрещенная ошибка.

OkHttpClient.Builder client = new OkHttpClient.Builder();
client.addInterceptor(new Interceptor() {
            @Override
            public okhttp3.Response intercept(Chain chain) throws IOException {
                Request.Builder ongoing = chain.request().newBuilder();
                ongoing.addHeader("Content-Type", "application/json");
                ongoing.addHeader("accept", "application/json");
                ongoing.addHeader("Authorization", "Bearer " + AppSetting.getInstance().getSDKDataManager().getAccessToken());
                return chain.proceed(ongoing.build());
            }
        });
...