1
  1. 现在我需要从 aws-iot api 获取东西影子。所以当我向邮递员发出相同的请求时,得到 200ok 响应。
  2. 从应用程序端我得到了 403 ieforbidden。
  3. 在这里,我使用“okhttp 客户端”来获取请求。

还附上了我得到 200ok 响应的图片。

从 aws-iot api 200ok 响应中获取事物影子

现在我从应用程序端做什么?我认为它的权限问题但无法解决请建议。

还附上代码如下: -

Interceptor interceptor = new Interceptor() {
@Override
public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
Request newRequest = chain.request()
.newBuilder()
.addHeader("content-type", "application/x-www-form-urlencoded")
.addHeader("host", "ag7fce49bf5ti.iot.us-east-1.amazonaws.com")
.addHeader("x-amz-date", "20160919T054450Z")
.addHeader("authorization", "AWS4-HMAC-SHA256 Credential=AKIAJ6XB3CLURFLV6ISQ/20160919/us-east-1/iotdata/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=af7cd8cee7dd4763cff3a1c8f91cdde1fa22cc68012248a694cee098981bc623")
.build();
return chain.proceed(newRequest);
}
};

    OkHttpClient.Builder builder = new OkHttpClient.Builder();
    builder.interceptors().add(interceptor);
    client = builder.build();

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://ag7fce49bf5ti.iot.us-east-1.amazonaws.com/things/dm_project/shadow/")
            //.addConverterFactory(client)
            .client(client)
            .build();
4

0 回答 0