解决 {"ret":100030,"msg":"this api without user authorization"} android QQ第三发登录成功后获取用户信息失败的问题
2017-06-01 14:37
846 查看
在使用QQ第三发登录时,登录成功后,去获取用户信息的时候,却出现这个错误:
{"ret":100030,"msg":"this api without user authorization"}
经过查找资料,发现问题出在缺少权限,还缺少一步验证,请看代码。
登录授权:
获取用户信息授权:
{"ret":100030,"msg":"this api without user authorization"}
经过查找资料,发现问题出在缺少权限,还缺少一步验证,请看代码。
登录授权:
获取用户信息授权:
public void qqLogin() { tencent = Tencent.createInstance(Cons.QQ_APPID, this.getApplicationContext()); if (!tencent.isSessionValid()){ tencent.login(this, "tt", new IUiListener() { @Override public void onComplete(Object o) { Log.i("zdbb tencent","cnComplete "+o); JSONObject jo = (JSONObject) o; String openID = jo.optString("openid"); String accessToken = jo.optString("access_token"); String expires = jo.optString("expires_in"); tencent.setOpenId(openID); tencent.setAccessToken(accessToken, expires); } @Override public void onError(UiError uiError) { Log.i("zdbb tencent","onError "+uiError.errorDetail); } @Override public void onCancel() { Log.i("zdbb tencent","onCancel "); } }); } } void getQQUserInfo(){ Log.i("zdbb tencent","获取用户信息。。。 "); UserInfo userInfo = new UserInfo(LoginActivity.this,tencent.getQQToken()); userInfo.getUserInfo(new IUiListener() { @Override public void onComplete(Object obj) { try { JSONObject jsonObject = (JSONObject) obj; int ret = jsonObject.getInt("ret"); if(ret==100030){ //缺少权限,需要增量授权 Runnable r = new Runnable() { @Override public void run() { tencent.reAuth(LoginActivity.this, "all", new IUiListener() { @Override public void onComplete(Object o) { } @Override public void onError(UiError uiError) { } @Override public void onCancel() { } }); } }; LoginActivity.this.runOnUiThread(r); }else{ Log.d("zdbb tencent","用户信息 "+jsonObject); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onError(UiError uiError) { Log.i("zdbb tencent","uiError "+uiError.errorDetail); } @Override public void onCancel() { Log.i("zdbb tencent","onCancel "); } }); }
相关文章推荐
- ios 第三方qq登陆 {"ret":100030,"msg":"this api without user authorization"}
- QQ登录报错:msg = "this api without user authorization";ret=100030;
- ios 第三方qq登陆 {"ret":100030,"msg":"this api without user authorization"}
- 开机登录失败 提示"user profile service服务未能登录,无法加载用户配置文件" 问题解决办法
- 在为应用集成微博第三方登录获取用户信息的时候出现异常com.weibo.sdk.android.WeiboException: {"error":"User does not exists!","er
- Android 微信授权登录、获取Wx用户信息,解决无法回调问题
- Android之QQ授权登录获取用户信息
- Android 微信登录昵称乱码问题,及获取微信用户信息
- Android之QQ授权登录获取用户信息
- Android之QQ授权登录获取用户信息
- 有关ecmall的东东3----登录用户信息$this->visitor->get("user_id")的实现
- Android USB API获取设备信息失败问题
- Java 微信登录授权后获取微信用户信息昵称乱码问题解决
- Android之QQ授权登录获取用户信息
- Android第三方QQ登录并获取QQ用户信息
- Android之QQ授权登录获取用户信息
- androidQQ登录获取用户信息
- SQL2005的sa用户登录问题 用户名无法登录sql2005"已成功与服务器建立连接,但是在登录过程中发生错误" 用户"sa"登陆失败,SQL Server错误:18456
- 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法
- 轻松解决asp.net用户ASPNET登录失败的问题