Как использовать aws-signature почтальона (используя aws-iot rest api) в приложении для Android?

  1. Теперь мне нужно получить тень от aws-iot api. Поэтому, когда я отправил тот же запрос в почтальон, в ответ получил 200ok.
  2. Со стороны приложения я получил 403, т.е. запрещено.
  3. Здесь я использовал «okhttp client» для получения запроса.

также прикрепленное изображение, где я получил ответ 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();

person sagar potdar    schedule 21.09.2016    source источник
comment
опубликуйте код, где вы получаете запрос.   -  person Saurabh Kataria    schedule 21.09.2016
comment
на самом деле я не получаю никаких ошибок в конкретной строке, но мой ответ со стороны сервера возвращает запрещенный.   -  person sagar potdar    schedule 21.09.2016
comment
я думаю 404 не найдено, 403 запрещено. Вы получаете 404 или запрещено?   -  person Saurabh Kataria    schedule 21.09.2016
comment
@SaurabhKataria:- Извините, моя опечатка 403 (запрещено).   -  person sagar potdar    schedule 21.09.2016
comment
Так запрещено в основном то, что у этого пользователя нет доступа к этому API.   -  person Saurabh Kataria    schedule 21.09.2016
comment
Да .. Но он дает мне 200 окей в ответ, когда я нажимаю его от почтальона.   -  person sagar potdar    schedule 21.09.2016
comment
посмотрите, поможет ли это. stackoverflow.com/questions/30461420/   -  person Saurabh Kataria    schedule 21.09.2016
comment
@SaurabhKataria: - согласно предоставленной ссылке. Это для auth0, а не для aws-iot, поэтому его diffrent.protocol тот же, но проблема все еще есть.   -  person sagar potdar    schedule 21.09.2016
comment
Вы можете опубликовать код запроса, который может помочь в распознавании ошибки. Я пытался, но не смог воспроизвести ваш сценарий.   -  person Saurabh Kataria    schedule 21.09.2016
comment
@SaurabhKataria: - пожалуйста, проверьте мой код, который я прикрепил к этому вопросу   -  person sagar potdar    schedule 23.09.2016
comment
Обратитесь к моему ответу здесь, чтобы узнать, полезен ли он   -  person thanhbinh84    schedule 08.02.2017