V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
abelyao
V2EX  ›  问与答

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

  •  
  •   abelyao · 2014-09-19 08:14:18 +08:00 via Android · 65607 次点击
    这是一个创建于 3748 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是这样的,有个查询功能比较有价值,想借此要求用户必须关注我们的公众号之后才可以继续使用,但现在怕以下情况:

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

    请 V 友们支招,谢谢!
    第 1 条附言  ·  2014-09-19 09:18:11 +08:00
    许多 V 友提到使用 oauth 2.0 的网页授权 + OpenID 绑定,但是网页授权是高级接口,需要通过微信认证(300元)才可以使用,那有没有其它方法,可以不做认证的?
    第 2 条附言  ·  2014-09-19 10:07:27 +08:00
    再补充:要求全过程在一部手机上即可完成操作的,不要有第二个设备(比如电脑上的页面)
    27 条回复    2019-03-14 13:37:10 +08:00
    thewei
        1
    thewei  
       2014-09-19 08:34:08 +08:00 via iPhone
    认证后的服务号可以,微信网页授权接口
    thewei
        2
    thewei  
       2014-09-19 08:35:05 +08:00 via iPhone
    不对,好像网页授权不一定要关注公众号
    arron
        3
    arron  
       2014-09-19 08:41:45 +08:00
    网页授权后再查一下userInfo就可以看是否关注了。
    kidult
        4
    kidult  
       2014-09-19 08:44:04 +08:00
    很简单,在微信帐号里写个验证码,用户查询时需要关注微信号获取验证码
    cloverstd
        5
    cloverstd  
       2014-09-19 08:46:51 +08:00 via iPhone   ❤️ 2
    如果只在微信里使用的话,就让用户点击菜单或者发送关键字就返回这个页面,带一个token,并且设置lifetime
    cloverstd
        6
    cloverstd  
       2014-09-19 08:47:57 +08:00 via iPhone
    补充上一条,当进入页面后,token就失效
    abelyao
        7
    abelyao  
    OP
       2014-09-19 08:49:34 +08:00 via Android
    @arron @thewei
    授权好像并不一定要求关注吧?
    abelyao
        8
    abelyao  
    OP
       2014-09-19 08:50:40 +08:00 via Android
    @cloverstd 是的,想了一天也觉得就这个方法比较靠谱,对用户来说操作的要求也不高
    abelyao
        9
    abelyao  
    OP
       2014-09-19 08:51:35 +08:00 via Android
    @kidult 这个有点虐待用户体验了,不过我们提供查询的内容确实很有价值,也可以考虑
    liangh
        10
    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
        11
    liangh  
       2014-09-19 09:12:11 +08:00
    再补充一下:
    微信浏览器中相关分享的js api. link就写你的授权url就可以了
    abelyao
        12
    abelyao  
    OP
       2014-09-19 09:15:45 +08:00
    @liangh 非常感谢你的热心回答,这个思路也很好。另外我想问一下,oauth 2.0 授权必须要有高级接口才可以使用吧?没有做那300元的认证可以调用吗?
    ccbikai
        13
    ccbikai  
       2014-09-19 09:38:16 +08:00
    把查询功能做成发消息给公众号进行查询呢
    abelyao
        14
    abelyao  
    OP
       2014-09-19 09:44:20 +08:00
    @ccbikai 哈哈,是,这个是一招,也有想过,但是有两个缺点,一个是在消息中植入广告的效果没有页面上的效果好,另一个是不能鼓励分享到朋友圈增加传播量
    multiple1902
        15
    multiple1902  
       2014-09-19 09:45:08 +08:00
    我觉得吧,别做这个比较好。
    ccbikai
        16
    ccbikai  
       2014-09-19 09:47:33 +08:00
    @abelyao 把查询结果生成一个网页,然后返回图文消息不就好了。
    分享的时候把分享的链接用上面的方法做做手脚
    arron
        17
    arron  
       2014-09-19 09:48:09 +08:00
    abelyao
        18
    abelyao  
    OP
       2014-09-19 09:54:55 +08:00
    @ccbikai 这也是一个方法,可以考虑,谢谢 :)
    niaoren
        19
    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
        20
    niaoren  
       2014-09-19 10:02:56 +08:00
    我的上述方法可以做到PC端网页和手机端分离实现。

    楼上有朋友提到网页授权方案,但是现状离开微信浏览器是实现不了的
    abelyao
        21
    abelyao  
    OP
       2014-09-19 10:03:14 +08:00
    @niaoren 貌似生成二维码也属于高级接口,300元啊… 哎…
    另外就是想要全过程可在手机上完成,手机扫手机页面上的二维码… 貌似需要两部手机…
    Wy4q3489O1z996QO
        22
    Wy4q3489O1z996QO  
       2014-09-19 10:25:09 +08:00
    @abelyao 现在才想明白,神马支付手续费、认证费都要爽快的交,否则后续的时间成本会远远超过这一点点费用。
    abelyao
        23
    abelyao  
    OP
       2014-09-19 10:27:17 +08:00
    @romotc 其实300元完全可以承受,哪怕每年都有,也行,就像你说的,带来了很多方便和功能。问题是之前个人注册的服务号,要申请认证,得找人借个营业执照什么的… 这个比较麻烦
    akira
        24
    akira  
       2014-09-19 10:59:09 +08:00
    你的查询功能连300块都不值的话,还折腾来干嘛
    abelyao
        25
    abelyao  
    OP
       2014-09-19 11:02:39 +08:00
    @akira 呵呵,话别说得这么绝对,300元没问题,但认证的手续呢,材料呢,如果是个人开发没有营业执照呢?你说这话对你的回复没有任何价值
    akira
        26
    akira  
       2014-09-19 15:34:02 +08:00
    @abelyao 好吧,只看你前面有说认证要300大洋,不想弄。

    但是认证要的材料,找个朋友应该也不是什么太难的事情。
    kiyoometal
        27
    kiyoometal  
       2019-03-14 13:37:10 +08:00
    认证的话 主要还是企业、个人的确不太好申请,用别人的也不太方便啊,毕竟涉及到营业执照啥的 0.0
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:23 · PVG 03:23 · LAX 11:23 · JFK 14:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.