我已经存在了一段时间,看起来谷歌凌空没有像我预期的那样工作。
我已准备好JsonObject
请求:
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("auth-code", authCode);
} catch (JSONException ignored) {
}
JsonObjectRequest response = new JsonObjectRequest(UrlController.getGoogleOauthSendAuthCodeMethod(), UrlController.getGoogleOauthSendAuthCodeUrl(), jsonObject.toString(), onSuccess, onError);
AppController.getInstance().addToRequestQueue(response, "REGISTER_USER_GOOGLE_OAUTH");
它只是将google auth-code
发送到我的服务器并获取jsonObject作为响应。
为了回应这个请求,我检索了这个:
{"data":{"user":
{"name":"name lastname",
"username":"someusername",
"email":"email@gmail.com"},
"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQxNDIsImlzcyI6Imh0dHA6XC9cL2FzaG9qYXNoLm1pbFwvYXBpXC92MVwvYXV0aFwvZ29vZ2xlIiwiaWF0IjoxNDUyNDY3NTQ4LCJleHAiOjE0NTI0NzExNDgsIm5iZiI6MTQ1MjQ2NzU0OCwianRpIjoiMTNhNjU0MjcwMmQ2MmE5MDA1YTgyZTlkZTM3YjQxNGQifQ.YfQaGuhVTYXPizdt2AX8C0RAObUNoqJp4rglZPOGW7s",
"is_new_user":false
}
}
但是Volley总是进入错误部分。 我已经测试了服务器api,因为它返回了这些数据。
值得注意的事情:
当我返回这个json对象时,没有检查auth-code
并只是从数据库返回一个随机用户,代码进入onResponse回调。我已经记录了服务器,我也得到了auth-code
,并且正确地检索了响应。
那么我做错了什么?
答案 0 :(得分:0)
找到原因,Volley time-out
请求是2.5秒
我正在验证一个auth-code
,这个时间花了不少时间
要解决此问题,请将此代码段用于您的Volley Request
response.setRetryPolicy(new DefaultRetryPolicy(15000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
15000是requestTimeOut
毫秒。