近期我们对线上的WordPress主题社交登录功能做了一项更新:

优化QQ登录字段保存方式:openid改为unionid,需要前往QQ互联应用接口里面获取权限;

此项更新需要前往QQ互联获取接口权限,否则会出现100048CompanyID not set的错误,如下图:

QQ登录出现CompanyID not set的解决办法

解决办法

进入QQ互联应用管理,查看需要设置的应用,在应用接口下面找到unionid,没有获取的话获取一下接口权限,如图:

QQ登录出现CompanyID not set的解决办法

为什么要修改成unionid

保存方式改成unionid的目的是为了更好的兼容同一个帐号的多端登录身份识别的问题,举个栗子:

目前您是网站,申请的是网站应用接口,如果后续您想给网站增加APP端,需要再申请一个移动应用,那么如果使用openid的话,同一个QQ用户在两个应用登录后返回的openid是不一样的,这就导致同一个QQ用户不同端登录后是不一样的帐号。

而使用unionid后,除了返回之前的openid外,还会额外再返回一个unionid,这个unionid在同一个开发者下面的不同应用返回的值都是一样的,这就可以很好的解决了多端登录用户身份统一识别的问题。而使用unionid后,除了返回之前的openid外,还会额外再返回一个unionid,这个unionid在同一个开发者下面的不同应用返回的值都是一样的,这就可以很好的解决了多端登录用户身份统一识别的问题。

同时考虑到目前QQ也推出了小程序,为方便后续可能面临的帐号对接问题,统一开启unionid是比较推荐的做法。