2017-08-08 3 views
2

Je veux mettre en œuvre oAuth 1.0 obtenir la demande en utilisant Retrofit mais pas en mesure d'obtenir une réponse.oAuth 1.0 obtenir la demande retrofit android

enter image description here

Réponse de Postman:

{ 
    "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" 
    } 
} 

Mon interface est:

@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); 

appel de méthode est:

callService private void() {

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(); 
    } 
}); 

}

Qu'ai-je essayé aussi: Android OAuth Retrofit Access Token Request

et aussi essayer d'autres types, mais aucun d'entre eux ont travaillé.

Quelqu'un peut-il m'aider à résoudre ce problème? Je veux mettre en application ceci avec la modification.

+0

Avez-vous obtenu la solution? –

+0

S'il vous plaît ajouter votre solution, je suis coincé avec auth 1.0 api @SubinBabu –

Répondre

0

S'il vous plaît essayer cette solution,

Ajoutez le code ci-dessous pour votre API INTERFACE CALL HEADER

@Headers({ 
      "Content-Type: application/json;charset=utf-8", 
      "Accept: application/json;charset=utf-8", 
      "Cache-Control: max-age=640000", 
    }) 
+0

est-il travailler pour vous @Ameer Sabith –