我想请教一下,用户在微信浏览器内打开一个链接,这个链接不是在公众号内打开的,用户也没有关注过这个公众号,调用微信OAuth2认证, https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri= ..

微信公众号网页开发 OAuth2 获取 openId 问题

我想请教一下,用户在微信浏览器内打开一个链接,这个链接不是在公众号内打开的,用户也没有关注过这个公众号,调用微信OAuth2认证,

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=&response_type=code&scope=snsapi_base&state=123#wechat_redirect

scope 参数为snsapi_base时能否获取到微信用户关于这个公众号的 openId?

18 回帖
请输入回帖内容...
  • fei123

    用户需要授权,不授权无法获取到 openId

    2 回复
  • 88250

    看了下微信文档据说 snsapi_base 好像是静默授权(不需要用户手动授权),但只能拿到 openid。

    我感觉楼主说的好像是可以获取到的,具体能不能需要试上一试了。

    1 回复
  • Ethan

    我说的这个是静默授权,你有没有试过不关注公众号(从来都没有关注过),在微信浏览器中,使用静默授权获取用户 openId?

    1 回复
  • Ethan

    我就是这个意思,另外咱们链书是不是使用的手动授权,也就是scopesnsapi_userinfo,这个页面是手动授权的引导页
    image.png

    1 回复
  • 88250

    是的,链书是 snsapi_userinfo,需要用户手动授权的。

    1 回复
  • Ethan

    链书没有 h5 版本吗?有的话,我可以取消关注公众号直接访问 h5 链接测一下手动授权还能不能用

    1 回复
  • 88250

    链书暂时没有网页版,不过我们计划明年将整体业务迁到黑客派上。

  • InkDP

    不关注也能拿

    1 回复
  • Ethan

    微信开发文档上完全没有提到这一点,不关注不授权都能拿的话,这种操作就太骚了

    1 回复
  • InkDP 1

    我以前试过,openid 针对每个公众号是唯一的,所以可以拿

    这是大概两年前的事了,现在可不可以要自己试试才知道

    1 回复
  • Ethan

    但是在微信的官方开发文档上一直都在强调只有关注过公众号才能拿到用户的 openId,或者需要用户手动授权才可以拿到用户的 openId,如果能直接通过接口拿到的话,openId 还有其他作用的话,这种操作就太骚了

  • fei123

    snsapi_userinfo 用户不关注,授权成功后就可以拿到 openId ,snsapi_base 未关注的话好像获取不到 openId。

  • ferried

    我记得。好像是服务号才可以吧。。。

  • Eddie

    可以

  • Ethan

    @participants 感觉都是不确定啊!

  • yoss

    两天时间还不够写个测试代码的?

    1 回复
  • Ethan

    在做其他的事,抽时间自己再写一下吧

  • betou 1

    snsapi_base:静默授权,对用户来说只是刷新了几次页面,但只能获取到 openid,与是否关注无关。

    snsapi_userinfo:当未关注公众号号时是动态授权,需要用户手动确认,当已关注公众号时是静默授权,不会拉起授权页面。

请输入回帖内容 ...