5

Retrofit を使用して oAuth 1.0 get リクエストを実装したいのですが、応答を取得できません。

ここに画像の説明を入力

郵便配達員の応答:

{
    "1": {
        "entity_id": "1",
        "parent_id": "0",
        "position": "0",
        "level": "0",
        "name": "Root Catalog"
    },
    "2": {
        "entity_id": "2",
        "parent_id": "1",
        "position": "1",
        "level": "1",
        "name": "Default Category",
        "is_active": "1"
    }
}

私のインターフェースは次のとおりです。

 @GET("/api/rest/categories/?")
    @Headers({ "Content-Type: application/json"})
    Call<ResponseBody> getProduct( @Field("oauth_consumer_key") String grantType,
                                   @Field("oauth_token") String username,
                                   @Field("oauth_signature_method") String sig,
                                   @Field("oauth_timestamp") String timS,
                                   @Field("oauth_nonce") String nonc,
                                   @Field("oauth_version") String vers,
                                   @Header("Authorization") String authorization);

メソッド呼び出しは次のとおりです。

プライベートボイドcallService(){

 byte[] credentials = "CONSUMER_SECRETE:TOKEN_SECRETE".getBytes();
 String basicAuth = "Basic " + Base64.getEncoder().encodeToString(credentials);

UserClient apiService = ApiClient.getClient().create(UserClient.class);
Call<ResponseBody> call = apiService.getProduct("CONSUMER_KEY","TOKEN_KEY","HMAC-SHA1","1502218838","RuH2FG","1.0",basicAuth);
call.enqueue(new Callback<ResponseBody>() {
    @Override
    public void onResponse(Call<ResponseBody>call, Response<ResponseBody> response) {
        if (response.isSuccessful()){
            if (response.isSuccessful()){

            }else{
                Toast.makeText(getApplicationContext(), "Failed", Toast.LENGTH_LONG).show();
            }
        }else{
            //First Option of error handling..
            switch(response.code()){
                case 404:
                    Toast.makeText(getApplicationContext(),R.string.server_error404, Toast.LENGTH_SHORT).show();
                    break;
                case 500:
                    Toast.makeText(getApplicationContext(),R.string.server_error500, Toast.LENGTH_SHORT).show();
                    break;
                default:
                    Toast.makeText(getApplicationContext(),R.string.server_errorUnknow, Toast.LENGTH_SHORT).show();
            }
        }


    }
    @Override
    public void onFailure(Call<ResponseBody>call, Throwable t) {

        Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();
    }
});

}

私も試したこと: Android OAuth Retrofit Access Token Request

他のタイプも試してみましたが、どれもうまくいきませんでした。

この問題を解決するのを手伝ってくれる人はいますか? これを後付けで実装したい。

4

1 に答える 1