虽然官网上说不建议在app中请求token,但是由于测试的需要,需要在app中网络请求获取token;
RequestQueue rq = Volley.newRequestQueue(this);
JsonObjectRequest jor = new JsonObjectRequest(Request.Method.POST, "https://api.cn.ronghub.com/user/getToken.json", null, new Response.Listener() {
@Override
public void onResponse(JSONObject jsonObject) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<String, String>();
map.put("userId", "123");
map.put("name", "abc");
map.put("portraitUri", "http://pic.baike.soso.com/p/20120313/bki-20120313221232-855539199.jpg");
return map;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> map = new HashMap<String, String>();
map.put("App-Key", myappkey);
//TODO
gettime();
//随机数
map.put("Nonce", suiji + "");
//时间戳
map.put("Timestamp", ts);
//数据签名
map.put("Signature", getsha());
return map;
}
};
rq.add(jor);
看了官网文档,如果有服务器也就是加请求头,我都加上去了,为什么还是返回的{"url":"/user/getToken.json","code":404,"errorMessage":"Not a valid API."}
初学者求大神指点,谢谢