收藏
回答

小程序登录的时候,如何在后端判断小程序是否关注公众号?

1,现在unionid可以随便获取了,所以无法根据jscode2session判断用户是否关注公众号

2,公众号的api,需要从网页授权获取openid,再通过openid换取用户是否关注公众号的字段,但是,我是要在小程序登录的时候判断用户是否关注公众号,而不是要用到网页。

请问,还有其余方法吗?

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

4 个回答

  • peng
    peng
    2021-03-05

    不是随便获取,还是要绑定开放平台的

    常规思路:

    1.公众号与小程序帮同开放平台

    2.API公众号的可以拉取关注用户,获取公众号的unionid,保存到自己数据库表

    https://developers.weixin.qq.com/doc/offiaccount/User_Management/Getting_a_User_List.html

    https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId

    2.1.最好做公众号的消息推送,用户取消了能获取到取消关注,并更新回数据库

    https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

    3.小程序登录用unionid去这个关注用户表查有没有记录,是否没有取消。

    2021-03-05
    有用 1
    回复 3
    • searchFan
      searchFan
      2021-03-05
      我是为了消息推送才搞这个的
      2021-03-05
      回复
    • searchFan
      searchFan
      2021-03-05
      我看一下
      2021-03-05
      回复
    • 如风
      如风
      2021-05-14
      拉取用户列表,只能获取到openid获取不到unionid
      2021-05-14
      回复
  • 剑林
    剑林
    2021-03-09

    也遇到了同样问题 无法识别用户是否关注了公众号 新用户也直接返回 unionid

    解决了吗 求下具体思路

    2021-03-09
    有用
    回复
  • 老张
    老张
    2021-03-05

    谢邀。

    没有办法。

    2021-03-05
    有用
    回复 1
    • searchFan
      searchFan
      2021-03-05
      感谢回答
      2021-03-05
      回复
  • shmily
    shmily
    2021-03-05

    这要看你公众号储存用户数据的唯一标识是什么了,如果是手机号的话那就登录的时候获取用户手机号判断数据库是否储存过,但是这个方法有弊端,因为微信手机号不一定是当初储存的手机号。所以我个人还是建议登录的时候请求接口,通过openId和session_key判断数据库是否有这个用户。

    2021-03-05
    有用
    回复 2
    • searchFan
      searchFan
      2021-03-05
      我主要是在注册,登录的时候做
      2021-03-05
      回复
    • shmily
      shmily
      2021-03-05回复searchFan
      两者不冲突啊,你做完判断之后,如果数据库有数据就展示个人信息,如果数据库没信息的话,就往数据库重新塞入一条数据
      2021-03-05
      回复
登录 后发表内容
问题标签