**OAuth权限**
在微信公众号的权限体系中,只有认证服务号才可以拥有OAuth权限,OAuth权限就是指,粉丝进入公众号提供的一个网页时,程序可以通过接口调用到该粉丝的Openid、昵称、头像等相关信息,相当于该粉丝进行了登录的操作,可以获取到该粉丝的唯一身份标识信息。
如果没有认证服务号,可能会导致以下两种情况发生:
(1)没有oAuth可能会导致访问网页失败,并提示appid错误,表现为直接打不开网页。
(2)没有oAuth时粉丝通过点击URL参加活动,活动模块无法无法识别微信用户是否是已关注用户。
无OAuth权限获取用户信息
如上所述,只有认证服务号才拥有可以直接通过接口获取用户身份的功能,那其它类型的公众号如何解决?为此优聚力系统提供了一个方案来解决此类问题。
通过触发关键字
可以通过用户触发关键字后,让回复的图文消息或是文本消息中的链接附加用户的Openid信息,用户点击进入后程序中就可以得到该用户的信息。优聚力系统会在粉丝触发关键字回复中,查找有没有链接,如果有链接就会把其Openid信息接进去。
* 需要注意的是如果该粉丝直接把触发回复转发给其他粉丝,则接收到该消息的粉丝点入后,身份信息还是原来粉丝的信息。
通过借用 OAuth权限
通过关键字的方法得到粉丝信息,需要粉丝每次都通过关键字来进入,在体验中难免会有一些问题,为此优聚力又提供借用OAuth的方案,就是一个没有网页授权的公众号,通过借用其它有权限公众来实现得到粉丝信息。
* 因为微信规定就是相同的粉丝在不同的公众号中其Openid也不同,所以借用得到的Openid并不是真实的粉丝Openid,只可用于标识粉丝身份,查找到相关信息,不支持发送客服消息或是其实一些粉丝接口类的功能。
如果通过借用得到OAuth信息后,该粉丝又触发关键字得到了真实的Openid,优聚力系统会自动把这两个Openid进行关联,以后再通过借用OAuth得到Openid后,将可以直接查到该粉丝的真实信息。
**借权说明**
1、普通订阅号和普通服务号需要借用oAuth + JS分享权限。
2、认证订阅号仅需要借用oAuth权限,无需借用JS分享权限。
3、不要随意设置,比如你的公众号是认证订阅号又借用了JS分享权限则会导致无法生成正确的URL导致各类分享问题。