Yelp Fusion API无法识别授权标头

时间:2018-02-01 23:04:57

标签: java android retrofit yelp

我正在通过Yelp Fusion文档记录的Retrofit GET请求传递授权标头,如下所示:

授权:持票人MY_API_KEY

我在onCreate()方法中添加了一个网络拦截器,如下所示:

    OkHttpClient.Builder okHttpBuilder = new OkHttpClient.Builder();

    okHttpBuilder.addInterceptor(new Interceptor() {
        @Override
        public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
            Request original = chain.request();

            // Request customization: add request headers
            Request.Builder requestBuilder = original.newBuilder()
                    .addHeader("Authorization", "Bearer MY_API_KEY");
            Request request = requestBuilder.build();

            return chain.proceed(request);
        }
    });

    //Yelp Client init
    yelpRetrofit = new Retrofit.Builder()
            .baseUrl("https://httpbin.org/")
            .client(okHttpBuilder.build())
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    yelpClient = yelpRetrofit.create(YelpClient.class);

这是我的YelpClient类:

public interface YelpClient {
@GET("headers")
Call<YelpJSON> searchTest(); }

这是我在发送请求时得到的回复:

  

{“error”:{“code”:“TOKEN_MISSING”,“description”:“必须提供访问令牌才能使用此端点。”}}

我已成功检索到Yelp Fusion API与Postman的响应,并使用相同的参数和标题作为我的Retrofit请求进行卷曲,所以我不能责怪Yelp。我还尝试静态和动态设置标头没有成功。任何人都可以帮我弄清楚这里有什么问题吗?

0 个答案:

没有答案