leetom
V2EX  ›  问与答

微信扫码登录和直接在手机微信上登录的,有没有办法关联?

  •  1
     
  •   leetom · Mar 15, 2016 · 7234 views
    This topic created in 3723 days ago, the information mentioned may be changed or developed.
    微信扫码登录是属于微信开放平台的,手机上微信直接登录是公众平台的。
    我发现登录方式是独立的(同一个微信用户的 openid 对每个应用都不相同)。
    有办法让这两者关联?也就是同一微信用户,用两种方式登录之后对应同一个用户。

    我的开放平台申请的是网站应用,是不是当时选公众帐号,就可以使用同一个 AppID 了?
    Supplement 1  ·  Mar 15, 2016
    还有一个问题,就是之前用扫码登录的那些,只保存了 openid ,没有保存 unionID ,那么现在只能等他们扫码再登录一次的时候更新 unionID 吗?
    10 replies    2016-03-15 22:24:33 +08:00
    phpcxy
        1
    phpcxy  
       Mar 15, 2016
    开放平台和公众平台的 openid 是不同的,但是微信给你提供了一个 unionID ,你可以了解下。
    abelyao
        2
    abelyao  
       Mar 15, 2016 via iPhone
    可以关联的,在开发文档中有提到。没记错的话是这个:
    http://mp.weixin.qq.com/wiki/1/8a5ce6257f1d3b2afb20f83e72b72ce9.html
    keepcleargas
        3
    keepcleargas  
       Mar 15, 2016
    有些时候 unionId 返回为空了 不知道为什么.
    bigfa
        4
    bigfa  
       Mar 15, 2016 via iPhone
    @keepcleargas 必须把平台和公众号绑定
    keepcleargas
        5
    keepcleargas  
       Mar 15, 2016
    @bigfa 有段时间一直 可以了,后台微信授权 就 unionID 返回空了,好吧,我现在也不确定当初是否 绑定过了.
    leetom
        6
    leetom  
    OP
       Mar 15, 2016
    @phpcxy @abelyao 多谢,找到办法了!
    leetom
        7
    leetom  
    OP
       Mar 15, 2016
    @phpcxy @abelyao

    还有一个问题,就是之前用扫码登录的那些,只保存了 openid ,没有保存 unionID ,那么现在只能等他们扫码再登录一次的时候更新 unionID 吗?

    没有找到通过 openID 直接获取 unionID 的办法,只能通过 access_token 来获取
    pubby
        8
    pubby  
       Mar 15, 2016 via Android
    @leetom 想办法让用户重新登录就有 union ID 了
    pubby
        9
    pubby  
       Mar 15, 2016
    @leetom 另外,虽然用 unionid 作为唯一的用户识别,但是公众号登录时的 openid 最好也保存下来,因为后面如果要接入微信支付的话,这个 openid 在支付时需要用到的。
    leetom
        10
    leetom  
    OP
       Mar 15, 2016
    @pubby 明白了,多谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3182 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 13:56 · PVG 21:56 · LAX 06:56 · JFK 09:56
    ♥ Do have faith in what you're doing.