收藏
回答

如何在小程序中取得UnionID?

1. 已经在微信开放平台中同时绑定了一个微信公众号(服务号)和一个小程序,小程序和微信公众号都是同一个主体。




2. 通过微信公众平台接口调试工具,可以通过微信公众号的appId取得用户的unionId:


3. 在已经绑定的小程序(未正式上线,在开发工具中运行)

类似如下代码取得code,然后传给服务器:

wx.login({
  success (res) {    if (res.code) {      //发起网络请求
      wx.request({        url: 'https://test.com/onLogin',        data: {          code: res.code
        }
      })
    } else {      console.log('登录失败!' + res.errMsg)
    }
  }
})


服务器使用code,并通过code2session接口完成登录流程


GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

根据文档:


应该会返回unionID,但是实际的返回却没有unionid:

[2018-11-09 06:43:14] local.DEBUG: code2Session {"session":{"session_key":"2RM9EqVl7glXQeOg9SnCPg==","openid":"oyjCu4lepGsDzKmu__pCU723OqkI"}}


我也看了这个文档:

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


用户已经关注了公众号,但是还是无法拿到unionid,谁能告诉我是怎么回事么?


最后一次编辑于  2018-11-11
回答关注问题邀请回答
收藏

3 个回答

  • 郭玉峰 15811200580
    郭玉峰 15811200580
    2019-01-30

    关注了绑定到同一个开放平台的正式公众号(测试公众号无效) 就可以直接获取到

    不关注 就需要 button getuserinfo 后台解密

    我现在的逻辑是 先去通过code获取 获取不到 就显示一个带button的页面 让用户点击(同时提示用户关注公众号)


    2019-01-30
    有用
    回复
  • 毛南子
    毛南子
    2018-11-12

    我把另一个小程序同时绑定到了微信开放平台后,这个小程序终于能返回了unionid,这都是什么鬼条件啊,资料上也没写啊!

    2018-11-12
    有用
    回复
  • 再见,电脑崽
    再见,电脑崽
    2018-11-09

    要么是开放平台设置还没生效,要么是你绑定的小程序不是你当前的小程序。

    检查下appid是否对应得上。

    2018-11-09
    有用
    回复 3
    • 毛南子
      毛南子
      2018-11-09

      1 重新检查了一下小程序的appid


      和小程序是一致的:



      2 从小程序页面上来看已经绑定生效了


      2018-11-09
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-11-09回复毛南子

      等明天再看??

      2018-11-09
      回复
    • 毛南子
      毛南子
      2018-11-09回复再见,电脑崽

      公众号和小程序绑定到开放平台我是昨天做的。不知道是不是因为小程序没上线?有关系吗?

      2018-11-09
      回复
登录 后发表内容