收藏
回答

公众号个别用户获取不到unionid

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 微信iOS客户端 未知 未知

公众号是已认证的服务号,并已绑定微信开放平台。在使用过程中发现个别用户无法获取到unionid,使用的API为:GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

公众号appid:wxd683eed3c6395e8f

openid: oDjp3xKH0L3w4xKJZTXurnjRywD8

授权scope:snsapi_base

回答关注问题邀请回答
收藏

1 个回答

  • 吃鱼先生
    吃鱼先生
    2020-10-13

    scope为snsapi_base是无法获取到unionid的,

    你现在有些用户能获取到是因为关注了公众号,

    未关注公众号的用户

    scope为snsapi_userinfo时才能获取到unionid,

    详见:

    https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html

    https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

    2020-10-13
    有用
    回复 6
    • 东方一枝叶😁
      东方一枝叶😁
      2020-10-13
      出问题的用户也已经关注了公众号
      2020-10-13
      回复
    • 东方一枝叶😁
      东方一枝叶😁
      2020-10-13
      https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html中指出:
      3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
      并未明确说明scope为snsapi_base是无法获取到unionid的
      2020-10-13
      回复
    • 吃鱼先生
      吃鱼先生
      2020-10-14回复东方一枝叶😁
      但是也未明确说明scope为snsapi_base是可以获取到unionid的,

      而且通过实际实践也说明了需要通过scope为snsapi_userinfo的授权方式才能获得unionid
      2020-10-14
      回复
    • 东方一枝叶😁
      东方一枝叶😁
      2020-10-14回复吃鱼先生
      那为什么snsapi_base在用户关注公众号前提下,大多数是可以获得unionid的,有个别不可以?严格来讲,微信的官方文档应明确说明使用何种方式来获取unionid,现在模棱两可地说明很费解。
      2020-10-14
      回复
    • 吃鱼先生
      吃鱼先生
      2020-10-15回复东方一枝叶😁
      那建议检查下你们的代码逻辑,
      是不是那些以snsapi_base获取用户信息的用户,
      在你们把微信公众号关联到开放平台后,
      那些用户之前获取完用户信息之后,
      就一直是用过你们自己的cookie之类的登录你们系统,
      从未在在你们把微信公众号关联到开放平台后,
      通过微信那边的snsapi_base的方式重新授权过
      2020-10-15
      回复
    查看更多(1)
登录 后发表内容
问题标签