收藏
回答

如果在 App 登录的时候没有保存用户的 UnionID,后续是否有办法重新获取呢?

之前,在用户登录客户端 App 的时候,我这里只获取了 Open ID,没有获取用户的 Union ID。

现在,我新增了微信内置浏览器的网页登录,用的是公众号的 App ID,其所生成的 Open ID 和之前客户端登录的 Open ID 是不同的。所以我需要获取用户的 Union ID 才能把用户在客户端 App 的登录和在公众号的登录关联起来。但是之前没有获取用户的 Union ID,现在还有办法重新获取吗?

如果不能重新获取 Union ID 的话,就会导致用户一个微信账号,分别在开放平台和公众号各自创建了一次账号,会搞得非常的混乱...而且这部分业务无论如何设计逻辑,都避免不了用户创建重复的账户。

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

1 个回答

  • 楚林
    楚林
    2024-11-26

    重新通过openId 查询用户信息 https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId

    2024-11-26
    有用
    回复 2
    • chenziquan
      chenziquan
      2024-11-27
      你好,我看到这个接口必须要求有 access_token,但 access_token 是必须在用户授权后才能获取的,当时并没有保存,况且本身的有效期也很短。似乎并不能解决这个问题?
      2024-11-27
      回复
    • 楚林
      楚林
      2024-11-27回复chenziquan
      服务商的模式,以服务商的componentAppId +  授权用户appId,通过获取token接口重新获取accessToken, 自研模式,以用户appId+secretKey 通过接口获取token, 一般开发都需要缓存token,如缓存2小时,提前1-2分钟,直接将token置为失效状态(利用redis的expireTime),token一旦不存在或失效,重新通过接口再次获取
      2024-11-27
      回复
登录 后发表内容