繁体   English   中英

微信开放平台openId和unionId

[英]WeChat open platform openId and unionId

我想用微信实现登录。 在阅读文档时,我遇到了两个不同的参数,我不完全理解它们的含义:openId 和 unionId。

有人能解释一下这些 id 到底是什么吗? 据我了解它应该是这样的:

  • openId - 可能不时更改的用户的一些唯一 ID

  • unionId - 用户唯一 ID,唯一始终相同的 ID。 相当于使用 Google API 登录时 Google 返回的唯一 ID。

我阅读的文档可以在这里找到: http : //open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/web/login/getting-user-profile#login_getting-user-profile

根据我的理解,用户的打开 ID 因网络应用程序而异,而联合 ID 保持不变。 例如,您有两个使用微信登录的应用:W1 和 W2。 用户将分别拥有 W1 的 openid1 和 W2 的 oepnid2,但您可以使用用户的联合 ID 在应用程序中唯一标识他/她。

仅当您拥有多个网络/移动应用程序时,打开 ID 才会更改。

希望它有帮助。 谢谢。

“为什么有人想要使用 openID” - 这是@dcsan 提出的一个很好的问题。

从api科学的话,最大区别就是unionId需要openId和access_token去取得,也就是获取一个认证步骤。

从实用角度来看,openId更多的是一种数据匿名化的作用。

根据我的理解,

openId = f(unionId, appId) 其中 f 是一个哈希函数,等等。

更新,它可能更像是=

openid = f(userId, appId) 
unionid = f(userId, appOwnerId)

其中 f 是一个哈希函数

当贵公司拥有多个公众号时,同一用户同时关注这两个公众号时,一个用户的开放ID是不同的。 为了解决这个问题,微信开发了union id来帮助识别不同的openid但相同的用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM