微信二次开发,网页授权环节如何判断用户是否关注公众号
现在微信获取网页授权,无论是否未关注用户都能获取授权。所以
1.如何判断用户是否为关注用户
2.如果成功判断用户非关注用户,通过链接引导用户关注是否违反微信相关规则
1
qiayue 2015-11-06 21:00:16 +08:00 1
我能想到的办法是通过事先自己保存一份粉丝数据表,然后后面每关注一个都同步到这个表里。
然后用户授权之后,就可以查询知道是否关注。 但是获取粉丝列表 API 只有服务号有这个权限,所以如果是半路接手这个公众号的话,订阅号就无法使用这个方法。 但是如果是一个新公众号(或者现有粉丝不多,可以忽略),那么订阅号服务号都可以用这个方法。 |
2
qiayue 2015-11-06 21:01:14 +08:00
诱导关注这个看运气,如果有人举报了,微信又审核通过认定你诱导了,那么就会受到惩罚。
|
5
sytnishizuiai 2015-11-06 22:05:32 +08:00 3
微信有 2 种获取信息,一种是不许要授权的,只能获得 open_id ,
另外一种是需要用户授权的,就可以获取用户的昵称、城市、头像等,里面有个字段 subscribe 会告诉你用户是否关注了。 http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html 用户管理-》获取用户基本信息 |
6
imyip OP |
8
sytnishizuiai 2015-11-06 23:03:31 +08:00
@imyip 诱导关注的话你要当心,腾讯遇到诱导关注的举报或者自己发现,会封公众号的,建议不要诱导太严重被举报,诱导的话最好用文字图片,这样安全点
|
10
imyip OP |
13
Tink 2015-11-07 00:40:10 +08:00
5l 正解
|
14
qiayue 2015-11-07 06:13:57 +08:00 via Android
@sytnishizuiai 但其实你说的这个获取用户信息的 API 只有在用户已经跟公众号有消息交互之后才能调用成功。
所以一个账号仅仅是微信网页上授权给你之后,是无法调用这个接口的。 |
15
qiayue 2015-11-07 06:15:36 +08:00 via Android
http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html
网页授权获取用户信息接口里并没有返回是否关注信息 |
16
alex321 2015-11-07 07:14:41 +08:00
用户关注你的时候,微信服务器会向你的开发者服务器推送关注事件消息的,用户取消关注的时候也会给你推送事件消息。
有了这两点,配合网页授权获得的用户的 openId ,自然就能知道这个 openId 是否还在关注着。 |
17
likai 2015-11-07 08:50:18 +08:00
开发平台账号绑定微信公众号账号。
然后就能在取用户信息的时候取到 subscribe 这个。这个字段就是是否关注公众号的 |
18
sytnishizuiai 2015-11-07 10:43:09 +08:00
@qiayue
用户关注的时候就可以获取用户的信息,直接存数据库。 网页授权可以获取 unionid 和 openid ,如果数据库有用户信息,就可以看存的关注字段,如果没有信息,肯定是没有关注过。 因为是判断是否关注过,那只要每次用户关注公众号 就会自动把信息存库,就不存在其他方式登录不能判断了。 |
19
qiayue 2015-11-07 10:52:18 +08:00 via Android
@sytnishizuiai 但是有一个大前提是, 95%以上的已认证订阅号是没有“网页授权获取用户信息”这个 API 的权限的,只有已认证的服务号才有这个权限。
我手里有一个已认证的订阅号有这个权限,但那是各种机缘巧合下得到的,并且授权域名已经被写死了,在公众号后来无法修改(现在上面已经提示无权限,但其实我还是可以用那个授权域名来做授权),我不敢保证其他人有没有这种机缘巧合,所以保险一点说 95%,其实按照微信的逻辑,应该是订阅号 100%没有网页授权权限的。 |
20
qiayue 2015-11-07 10:54:51 +08:00 via Android
所以如果楼主问的是怎么判断服务号的授权用户是否关注,当然有各种办法。
但如果问的是订阅号,就需要一些曲折的办法,比如上面提到的另外注册一个服务号用于授权,并且都加入微信开放平台,然后用 unionid 来做判断。 |
21
sytnishizuiai 2015-11-07 11:00:16 +08:00
@qiayue
我不清楚订阅号和公众号有什么区别,目前不做微信开发了, 比如公众号的话,一个是微信自己有是否关注的字段、关注时间, 还有就是,用户关注后,微信发送到服务器的事件信息,关注和位关注的时间类型也是不一样的,那就可以自己做一个字段判断存起来。 因为自己也没做过订阅号,可以参考,如果没用的话见谅。 |
22
XianZaiZhuCe 2015-11-07 11:01:48 +08:00 via Android
能看一下手册不
|
23
qiayue 2015-11-07 11:02:47 +08:00 via Android
|