У меня возникла проблема с получением аутентифицированного пользователя. Перед этим я получил токен и идентификатор пользователя. Теперь мне нужно заставить пользователя с сервера использовать токен доступа и идентификатор. I have header formatRetrofit добавить заголовок с токеном и id
Теперь я пытаюсь добавить заголовок с токеном пользователя и идентификатором с использованием перехватчика.
Мой код:
Interceptor interceptor = new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request newRequest = chain.request().newBuilder()
.addHeader("Accept", "application/json")
.addHeader("authorization", token) <-??
.addHeader("driver_id", id) <-??
.build();
return chain.proceed(newRequest);
}
};
OkHttpClient.Builder okHttpBuilder = new OkHttpClient.Builder();
okHttpBuilder.addInterceptor(interceptor);
OkHttpClient okHttpClient = okHttpBuilder.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
Интерфейс:
@GET("driver/v1/driver")
Call<Driver> getAuthorizedDriver();
Различные варианты бросков 401 ошибку, не знаю, что делать Вход:
I/Response code: 401
I/Response message: Unauthorized`
Пробовали ли вы с помощью @Headers ("фишку:" + СИМВОЛ) выше вашего @GET? –
Мне всегда нужно новое значение токена. Спасибо –
другим способом было бы передать токен, а идентификатор через getAuthorizedDriver() – Malik