如何限制一个页面,必须关注某微信公众号,才可以访问?

2014-09-19 08:14:18 +08:00
 abelyao
是这样的,有个查询功能比较有价值,想借此要求用户必须关注我们的公众号之后才可以继续使用,但现在怕以下情况:

1,在聊天窗口直接复制后在其它地方打开;
2,在微信浏览器中分享到朋友圈;
3,在电脑上打开之后直接写软件批量查询了…

请 V 友们支招,谢谢!
65428 次点击
所在节点    问与答
27 条回复
thewei
2014-09-19 08:34:08 +08:00
认证后的服务号可以,微信网页授权接口
thewei
2014-09-19 08:35:05 +08:00
不对,好像网页授权不一定要关注公众号
arron
2014-09-19 08:41:45 +08:00
网页授权后再查一下userInfo就可以看是否关注了。
kidult
2014-09-19 08:44:04 +08:00
很简单,在微信帐号里写个验证码,用户查询时需要关注微信号获取验证码
cloverstd
2014-09-19 08:46:51 +08:00
如果只在微信里使用的话,就让用户点击菜单或者发送关键字就返回这个页面,带一个token,并且设置lifetime
cloverstd
2014-09-19 08:47:57 +08:00
补充上一条,当进入页面后,token就失效
abelyao
2014-09-19 08:49:34 +08:00
@arron @thewei
授权好像并不一定要求关注吧?
abelyao
2014-09-19 08:50:40 +08:00
@cloverstd 是的,想了一天也觉得就这个方法比较靠谱,对用户来说操作的要求也不高
abelyao
2014-09-19 08:51:35 +08:00
@kidult 这个有点虐待用户体验了,不过我们提供查询的内容确实很有价值,也可以考虑
liangh
2014-09-19 09:10:12 +08:00
这个问题很简单了
约束条件为:只在微信浏览器中访问
步骤:
1.在MP后台新建一条图文消息.内容为告诉用户如何关注(其实就是点上面的蓝色名字就可以).然后告诉关注后如何查询.
2.采用oauth2.0(必须认证),授权作用域为 snsapi_base.只获取打开页面用户 openid就可以了
3.在你的授权页,通过收到的openid.然后再通过 获取用户基本信息接口 就可以判断用户是否关注.如果已关注接口返回消息中字段subscribe==1 .相反为0
4.通过上面判断是否已经关注.如果已经关注点到你相应的页面就好.如果没有关注.就跳转点上面MP中的图文消息连接.为了不让用户麻烦.可以在图文中添加你的授权链接.

写了这么多.很简单了.授权,然后判断用户有没有关注.再跳到相应页面而已
liangh
2014-09-19 09:12:11 +08:00
再补充一下:
微信浏览器中相关分享的js api. link就写你的授权url就可以了
abelyao
2014-09-19 09:15:45 +08:00
@liangh 非常感谢你的热心回答,这个思路也很好。另外我想问一下,oauth 2.0 授权必须要有高级接口才可以使用吧?没有做那300元的认证可以调用吗?
ccbikai
2014-09-19 09:38:16 +08:00
把查询功能做成发消息给公众号进行查询呢
abelyao
2014-09-19 09:44:20 +08:00
@ccbikai 哈哈,是,这个是一招,也有想过,但是有两个缺点,一个是在消息中植入广告的效果没有页面上的效果好,另一个是不能鼓励分享到朋友圈增加传播量
multiple1902
2014-09-19 09:45:08 +08:00
我觉得吧,别做这个比较好。
ccbikai
2014-09-19 09:47:33 +08:00
@abelyao 把查询结果生成一个网页,然后返回图文消息不就好了。
分享的时候把分享的链接用上面的方法做做手脚
arron
2014-09-19 09:48:09 +08:00
abelyao
2014-09-19 09:54:55 +08:00
@ccbikai 这也是一个方法,可以考虑,谢谢 :)
niaoren
2014-09-19 09:59:08 +08:00
提供一个思路:

先生成一个带参数的临时二维码,在你需要限制的网页上显示,让用户微信扫描二维码,用户扫描后,用微信公众号call接口在微信里面对话框返回一个验证码,让用户在网页输入验证码访问页面内容

http://mp.weixin.qq.com/wiki/index.php?title=%E7%94%9F%E6%88%90%E5%B8%A6%E5%8F%82%E6%95%B0%E7%9A%84%E4%BA%8C%E7%BB%B4%E7%A0%81
niaoren
2014-09-19 10:02:56 +08:00
我的上述方法可以做到PC端网页和手机端分离实现。

楼上有朋友提到网页授权方案,但是现状离开微信浏览器是实现不了的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/134381

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX