2015-05-21 4 views
0

Прошло два дня с тех пор, как я начал с этой проблемы. Я прочитал все почтовые родственники волейбол и json, но никто не помог мне. И это странная проблема. Позвольте мне объяснить это.проблемы с библиотекой волейбола и запросом json

Я должен отправить объект JSON на сервер. Внутри объекта есть токен аутентификации. это токен md5 с временным и закрытым токеном. Я получаю публичный токен с этого URL: http://casting.haikoservices.com/service/create_token. Действительно просто, разве это не так? Я использую этот метод для его получения.

public void getTemporalToken() { 
 

 
     temporal_token=""; 
 
     JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET, 
 
       url_temporal_token,null, new Response.Listener<JSONObject>() { 
 

 
      @Override 
 
      public void onResponse(JSONObject response) { 
 
       
 

 
       try { 
 

 
        temporal_token = response.getString("token"); 
 
        sendData(); 
 

 

 
       } catch (Exception e) { 
 
        e.printStackTrace(); 
 
        Toast.makeText(getApplicationContext(), 
 
          "Error: " + e.getMessage(), 
 
          Toast.LENGTH_LONG).show(); 
 
       } 
 
       
 
      } 
 
     }, new Response.ErrorListener() { 
 

 
      @Override 
 
      public void onErrorResponse(VolleyError error) { 
 
       
 
       Toast.makeText(getApplicationContext(), 
 
         "OnError"+error.getMessage(), Toast.LENGTH_SHORT).show(); 
 
       
 
      } 
 
     }); 
 

 
     // Adding request to request queue 
 
     AppController.getInstance().addToRequestQueue(jsonObjReq); 
 

 
    }

хорошо. Я использую postman в chrome, чтобы проверить, работает ли временный токен, который я получаю. (я добавляю закрытый ключ, шифрую с md5 и пытаюсь использовать почтальон). И теперь начинаются странные вещи. Токен, созданный с помощью этого временного ключа, недействителен, но если я использую токен с веб-страницы, он работает.

Имеет ли он смысл? Если кто-то может мне помочь, я буду очень благодарен.

+0

также вставить 'SendData()' код, то как 'temporal_token' используется в нем? –

+0

Hi Asif. Я не думаю, что код sendData() здесь имеет значение. Я начал с проблем с temporal_token. Я получаю токен, но он не работает ... – Ertzil

ответ

1

Используйте этот метод. Я тестировал этот код, он работает правильно.

Выход

05-21 16: 56: 47.477: E/данные (22710): 647b9ee6151f2bc72a2e737c2ac7da61 **

public void getTemporalToken() { 

    RequestQueue queue= Volley.newRequestQueue(getApplicationContext()); 

    String url_temporal_token= "http://casting.haikoservices.com/service/create_token"; 
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,url_temporal_token,null, new Response.Listener<JSONObject>() { 

     @Override 
     public void onResponse(JSONObject response) { 

      try { 

       String temporal_token = response.getString("token"); 

       Log.e("data", temporal_token); 

      } catch (Exception e) { 
       e.printStackTrace(); 
       Toast.makeText(getApplicationContext(), 
         "Error: " + e.getMessage(), 
         Toast.LENGTH_LONG).show(); 
      } 

     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 

      Toast.makeText(getApplicationContext(), "OnError"+error.getMessage(), Toast.LENGTH_SHORT).show(); 

     } 
    }); 

    queue.add(jsonObjReq); 
    // Adding request to request queue 
} 
+0

Привет, Том. Да, с вашим методом я получаю токен. Но если я использую этот токен (копировать и вставлять в режим отладки) с почтальоном в chrome, он не работает. Я очень смущен ... Спасибо в любом случае! – Ertzil

Смежные вопросы