iOS微信登录的坑

默认登录返回没有UnionID

用的友盟SDK做的微信第三方登录,Android那边就能获取到UnionID,而iOS这边的友盟SDK就是得不到。查了一下方知要自己获取。
参考的文章是这个:《微信的标示值是什么openid/unionid》,但里面提供的链接有问题,应是这个:获取用户基本信息(UnionID机制) - 微信公众平台开发者文档。

获取微信UnionID一直出错

根据微信上面的文档,应该是使用https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 这个接口来获取,但返回数据一直报40001错误。
搜到这篇文章,《iOS App 友盟授权登录后,如何获取微信unionid》,说不能用这个接口,要用https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN,一试果然就好了,真坑爹啊。

其它的坑还可以看这里:友盟iOS微信登陆没有回调的原因 -

参考:

  • 全局返回码说明 - 微信公众平台开发者文档
  • 基于第三方微信授权登录的iOS代码分析 - Z - 博客频道 - CSDN.NET

你可能感兴趣的:(iOS微信登录的坑)