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