查看: 10509|回复: 8

[教程] 微信关注与发起OAuth网页授权的关系说明

[复制链接]

36

主题

1976

帖子

3044

积分

管理员

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
3044

200元现金券300元现金券

发表于 2015-12-10 23:44:27 | 显示全部楼层 |阅读模式
很多微讯云端的用户都搞不清楚网页授权的重要性,这里有必要再讲一下,我们先来看几条微信官方的说法:

1、发起网页授权的基本条件:
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(一般而言,已微信认证的服务号拥有snsapi_base和snsapi_userinfo)。

上面这句话是微信官方原文,简单说就是必须是认证服务号,那不是认证服务号的怎么办?别急,我下面会讲到解决方法。

2、发起网页授权的有效时间:
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(30天),当refresh_token失效的后,需要用户重新授权。

上面这句话是微信官方原文,简单说就是发起网页授权一次,有效期是很短的,这就是为什么你在进(开启授权的前提下)公众号某些功能时,总是会提示需要XX授权获取微信信息等提示。

3、发起微信网页授权的作用:
如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。

上面这句话是微信官方原文,简单说就是通过网页授权之后,公众号自然就拉取了粉丝(微信用户)的信息了,这些信息包括用户的微信头像、微信昵称、微信OPENID值。更简单一点说就是省去了关注公众号的步骤了。


现在在来说一下微信关注与网页授权之间的关系:

1、微信用户为什么要关注公众号?或者说关注公众号的目的是什么?
其中很重要的一个原因是微信通过关注了公众号之后,公众号就可以拉取用户的信息,这就是你们在公众平台所看到的用户管理内的信息,如果不关注,那么公众号与粉丝之间没有任何联系,所以也不存在公众号拉取微信用户信息的过程。

2、那为什么微信要推出网页授权呢?与关注公众号有什么关系?
刚才已经讲到了,微信通过关注就可以让公众号拉取到微信用户信息,那么公众号有没有不通过关注就直接拉取微信用户的信息呢?答案是确定的,有,那就是微信推出的发起网页授权,即就是不通过关注公众号这个行为,通过网页访问就可以直接取拉到访问公众号内容时自动拉取到微信用户信息。
到这里你应该就明白了,即然公众号已经拉取了这个微信用户的信息了,自然也就跳过了手工关注公众号这个过程了。

3、那回复关键词与链接进入功能又有什么关系呢?
以回复关键词作为触发条件进入公众号某个功能的方式大家应该比较常见了,我们天天在电视广播上经常都能听到,那么回复关键词的前提条件是什么?
对,没错,就是微信用户必须先手工添加公众号,也就是所谓的关注,然后回复**给你的公众号。那么通过链接又是什么方式呢?那就是通过一个页面上的点击,通过超链接的方式进入公众号内的某个功能页面,那为什么通过链接进入功能必须开启网页授权呢,如果不开启必定会出现各种奇怪的问题呢?
答案就在上面讲到的,微信通过了网页发起了授权,自然拉取到了微信用户信息,也就不必要再去关注公众号了。这就是我们一直提倡的凡是通过链接进入功能必须开启网页授权

4、那如果我不是认证服务号能开启网页授权吗?
答案是当然能,我们平台方通过技术手段,让你的公众号直接实现了认证服务号的发起网页授权功能,就是通过借用它人(认证服务号)的授权接口来帮助非认证服务号的公众号来发起网页授权,这就是为什么我们后台(新手任务第三步)有一个借用平台授权选项。
但这里有一个技术限制,因为通过借用平台授权可以发起非认证服务号的公众号来网页授权,但由于你本身的公众号不是认证服务号,自身并没有通过链接就能自动强制(提示)微信用户关注的接口权限,所以自然也就无法在通过链接访问时发起强制关注了。这里也就关系到为什么新手任务第二步里公众号类型必填选择正确。

5、那开启了网页授权之后获取不到微信用户信息呢?

如果开启了网页授权之后公众号还是获取不到微信用户信息的话,微信自动会提示授权出错或者请在微信客户端内打开,其实就是只要是开启网页授权之后,必须在微信的软件内识别到微信用户信息,凡是通过已开启了网页授权的链接进入功能的话,那这个就是绝对是一个真实的微信用户,所以很多投票活动有用户反馈说存在刷票行为,其实只要是开启了网页授权,进入活动的微信用户就是一个实真的粉丝,你说它刷票好也,访问投票也好,它就是一个微信认可的微信用户。

了解了以上的微信框架机制之后,你就不需要在问为什么粉丝不用关注我的公众号就可以进入功能了,也不需要在问为什么不是认证服务号不能强制关注,这样明白否?别傻乎乎的讲什么烂平台,什么破功能,会显的很小白的。不是平台不给力,而是你的公众号太低级啊!

另外一个核心的问题是微信推出Oauth网页授权主要目的是去强制关注化,授权之后粉丝通过链接可直接参与活动而无需关注公众号,微信此举的做法是为了提高微信体验,至于粉丝是否需要关注公众号这并不是微信的核心战略。

---------------------分-------------------隔-----------------------线--------------------------------

关于启用备用域名后可以提示粉丝关注的通告
http://bbs.weixinyunduan.com/for ... 3780&extra=page%3D1

17

主题

1705

帖子

5133

积分

超级版主

Rank: 21Rank: 21Rank: 21Rank: 21Rank: 21Rank: 21

积分
5133
发表于 2015-12-11 09:30:12 | 显示全部楼层
膜拜技术大牛的技术文章

8

主题

36

帖子

290

积分

助理

Rank: 3Rank: 3

积分
290
发表于 2015-12-11 22:26:19 | 显示全部楼层
我刚好遇到投票希望投票者关注公众号的事情,我的是已经认证的服务号。第六步“快捷关注设置”,也按要求设置了。但是客户投票的时候,没有关注公众号的选项,只有输入用户名、手机的本平台的选项。

或者说上面的,我没有看懂。能给个完整的操作步骤吗?



超级投票模块才有必须关注后参与的选项!

234

主题

3064

帖子

1万

积分

管理员

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
10557
发表于 2016-2-16 16:05:28 | 显示全部楼层
认证服务号开启关注后参与,并且需要开启新手任务第三步的网页授权服务才可以实现是否关注的判断以及提示!

2

主题

17

帖子

71

积分

助理

Rank: 3Rank: 3

积分
71
发表于 2016-2-23 09:38:11 | 显示全部楼层
谢谢大神的帖子 以后多多发布一下这些教学帖子

36

主题

1976

帖子

3044

积分

管理员

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
3044

200元现金券300元现金券

 楼主| 发表于 2016-4-19 11:26:40 | 显示全部楼层
所以从现在开始,那怕是认证服务号也不能有强制关注的提示了,再次强调一下,只要开启正确的OAuth网页授权,微信即视为已经关注(原理上面讲了)并可以正常参于活动,希望用户要不再去刻意追求实际有多少粉丝关注了,没任何意义的,粉丝就算关注了,投完票参加完活动,该取消关注的还是会取消,就算没取消关注的粉丝一样没活力,不管你推送什么内容人家不看就是不看。已经大批公众号被封,建议不要以身试法,毕竟公众号被封如果情节严重的话是永久的。

点评

意思是这样吗:就是还可以设置(你尚未关注,须关注才能参加)。但是最好不要尝试,这样设置会被举报,有被封的风险。  详情 回复 发表于 2016-4-21 17:32

0

主题

1

帖子

17

积分

助理

Rank: 3Rank: 3

积分
17
发表于 2016-4-21 17:32:14 | 显示全部楼层
我是伸手党 发表于 2016-4-19 11:26
所以从现在开始,那怕是认证服务号也不能有强制关注的提示了,再次强调一下,只要开启正确的OAuth网页授权 ...

意思是这样吗:就是还可以设置(你尚未关注,须关注才能参加)。但是最好不要尝试,这样设置会被举报,有被封的风险。

48

主题

835

帖子

2870

积分

管理员

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
2870
发表于 2016-6-16 11:43:19 | 显示全部楼层
关于启用备用域名后可以提示粉丝关注的通告

http://bbs.weixinyunduan.com/for ... &extra=page%3D1

3

主题

4

帖子

66

积分

助理

Rank: 3Rank: 3

积分
66
发表于 2016-12-11 18:40:19 | 显示全部楼层
请教下:网页授权需上传文件在哪提交啊?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则