集成第三方登录遇到的几个问题及解决办法
{"msg":"the user modify password wrong","ret":-73}
最近集成shareSDK的第三方登录,登录的时候第一次会授权获得用户资料,之后就是每次登录就不会再次授权了。第三方登录的时候最好都要调取授权界面再登录,因为如果用户更改了qq 微信的密码之后,登录就会返回失败。
下面以ShareSDK的qq登录示例以下
final Platform qqchat = ShareSDK.getPlatform(context,QQ.NAME);
qqchat.SSOSetting(false);//优先选择调用手机客户端界面 true是网页界面
qqchat.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform arg0, int arg1, Throwable arg2) {
// TODO Auto-generated method stub
Log.i("qq登录错误", arg1+arg2.getMessage());
}
@Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> map) {
// TODO Auto-generated method stub
Log.i("qq登录成功", map.toString());
String uid=arg0.getDb().getUserId();
}
@Override
public void onCancel(Platform arg0, int arg1) {
// TODO Auto-generated method stub
Log.i("qq取消登录", arg1+"");
}
});
//如果以授权 就取消授权 重新调取授权界面
if(qqchat.isValid()){
qqchat.removeAccount();
}
qqchat.showUser(null);