2016-04-14 12 views
1

サーバーにはDjango Rest Frameworkがあります。私はユーザー名、パスワード、client_idとclient_secretを持っています。これらの資格情報を使用してアクセストークンを生成する必要があります。どのようにして(Android)volleyを使ってサーバーにリクエストを送ることができるので、私はトークンで応答を得ることができます。バレー付きサーバーからDjangoのレストフレームワークへのトークンの応答

(サンプル応答)

{"access_token": "123", "token_type": "Bearer", "expires_in": 36000, "refresh_token": "123", "scope": "read write groups"} 

アクセストークン生成プロセスである -

curl -X POST -d "grant_type=password&username=**&password=**" -u "client_id:client_secret" 

url: http://ip:port/oAuthTokenGeneration/token/ 
私が試したものをここで

が、com.android.volley.ServerError

queue = VolleyHandler.getRequestQueue(); 
    String url="http://ip:port/oAuthTokenGeneration/token/"; 
    StringRequest postRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 

      Log.d("access_token:", response); 
     } 
    }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError volleyError) { 
        Log.d("error:","Error-------"+ volleyError.toString()); 

       } 
      }) 
    { 

     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("grant_type","password"); 
      params.put("username","root"); 
      params.put("password","root"); 
      params.put("client_id","id"); 
      params.put("client_secret", "secret"); 

      return params; 

     } 

     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      Map<String, String> headers = new HashMap<String, String>(); 
      headers.put("Content-Type", "application/json;"); 

      return headers; 
     } 

    }; 

    queue.add(postRequest); 

答えて

関連する問題