偶然看一个公众号,点过去不需要授权也能拿到头像和昵称,并且生成了账号 ID,下次点进来还是这个账号 ID,说名该网页已经拿到了 open id 。不然无法识别是同一个用户。
想跟大佬们请教下,这里不需要授权就能拿到信息是怎么操作的?
链接我贴一下,大家瞻仰下
![]() | 1 kop1989 2020-07-02 17:29:43 +08:00 公众号拿头像不需要授权的啊 |
![]() | 2 kop1989 2020-07-02 17:31:54 +08:00 openID 的话别说授权,不关注都可以拿到。 |
![]() | 3 guolaopi 2020-07-02 17:33:42 +08:00 你这个链接里也没有啥头像啊,不知道的以为你推广呢 |
![]() | 5 helone 2020-07-02 17:35:46 +08:00 公众号我没记错的话能静默授权,只需要中间跳转一下再跳回来就能拿到用户简单的信息,不需要确认啥的 |
![]() | 6 helone 2020-07-02 17:36:52 +08:00 |
![]() | 7 liKeYunKeji 2020-07-02 17:37:37 +08:00 我打开是有要求授权的,如果取消授权,注册账号是没有头像的,我注册了之后没显示头像。单纯的获取 openid 是不需要授权就能获得 openid 的,如果要获得头像和昵称必须要授权。 |
8 cqtop 2020-07-02 17:37:57 +08:00 静默授权 了解下 |
9 swuzjb 2020-07-02 17:39:45 +08:00 |
![]() | 10 kop1989 2020-07-02 17:40:13 +08:00 |
![]() | 11 guolaopi 2020-07-02 17:50:59 +08:00 via Android @helone @kop1989 抱歉,刚看文档 snsapi_base 静默授权我看到了, 但是#2 不关注公众号的话也会生成 openId 吗?我蒙了. https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId 这里第一行说:“在关注者与公众号产生消息交互后,公众号可获得关注者的 OpenID 。” |
![]() | 16 guolaopi 2020-07-02 17:59:42 +08:00 @kop1989 我一直理解 OpenId 的逻辑是用户 X 关注了公众号 A 的时候微信服务器生成一个 OpenId 。。。 照你说的逻辑难道微信是提前(或者每有人创建一个公众号的时候)就为 X 生成了关于 A 的 OpenId 在那放着, 不管 X 有没有关注 A,openId 都存在? 那微信服务器压力是不是有点大。。。。 |
![]() | 17 haiyan 2020-07-02 18:00:19 +08:00 静默授权只能拿到 OPENID,其他的信息都拿不到的 |
![]() | 18 Waterchestnut OP @kop1989 open id 不授权怎么拿到?求解 |
![]() | 19 Waterchestnut OP @guolaopi 不是推广。。。 |
![]() | 20 guolaopi 2020-07-02 18:03:24 +08:00 via Android @haiyan 拿到 openId 后 GET 调用: https://api.weixin.qq.com/cgi-bin/user/info?access_token=Token&openid=openid&lang=zh_CN 这个接口, 可以获取到用户信息,刚用 PostMan 测的。 |
![]() | 21 guolaopi 2020-07-02 18:04:28 +08:00 via Android |
22 annielong 2020-07-02 18:09:48 +08:00 静默授权,一直用这个,可以获取基本信息,不管是否关注公众号,openid 感觉像是个人原始微信号和公众号 id 结合生成的, |
![]() | 23 kamal 2020-07-02 18:31:03 +08:00 如果你授权过同一个微信开放平台的其他公众号,就会生成 unionId,同时记录下你的个人信息; 当前公众号(也绑定在同一个开放平台)只需要静默授权就能获得 openId,用 openid 可以查询到 unionId,再查询到你的个人信息,展示出来。 |
![]() | 24 kamal 2020-07-02 18:32:19 +08:00 |
![]() | 25 Waterchestnut OP @helone 我记得 2019 上半年的时候微信停用了静默授权 |
![]() | 26 Waterchestnut OP @helone 我看下 |
![]() | 27 Waterchestnut OP @pytth 是的,我是这么理解的 |
![]() | 28 Waterchestnut OP @swuzjb 感谢,我看下 |
![]() | 29 Waterchestnut OP @guolaopi 我是关注后点开的,没有关注的 case 没有试过,但是我取消关注,再次点卡又是依然能拿到头像昵称 |
![]() | 30 Waterchestnut OP @haiyan union id 能拿到吗? |
![]() | 31 Waterchestnut OP @guolaopi 这个是要 acess Token 的,这个前端拿不到的,这个 access Token 微信官方不建议给到前端,会有风险的 |
32 swuzjb 2020-07-02 22:37:13 +08:00 @Waterchestnut 取消关注后 OpenId 也不会消失 openId 是 公众号 和 微信用户的 唯一凭证 应该是有个生成规则的,肯定不是自增的 感觉是个可逆的 |
33 hhyyd 2020-07-02 23:14:30 +08:00 简单信息不需要授权就可以获取到基本的头像昵称等信息。但是获取 openid 的话,是需要授权的吧。 |
![]() | 34 d5 2020-07-03 08:15:31 +08:00 via iPhone scope=snsapi_base 无论用户关注与否,都可以获得这个用户在你的公众号的唯一 openid 的。下面是个我个人的演示,这是一个图像处理小工具,就是用的服务号 snsapi_base 获取用户 openid 。 https://photo.opencool.cn |
![]() | 35 sayitagain 2020-07-03 09:59:13 +08:00 |
![]() | 36 sayitagain 2020-07-03 10:01:55 +08:00 @guolaopi 获取 access_token 这一步就已经可以拿到 openID 了.openID 这个东西无需生成,本来就有一套用户与公众号之间的唯一算法. |
![]() | 37 sayitagain 2020-07-03 10:03:02 +08:00 @hhyyd 不需要,code 换取 access_token 的时候就可以拿到 |
![]() | 38 guolaopi 2020-07-03 10:47:47 +08:00 @sayitagain 好的,学到了~ |
39 zhuweiyou 2020-07-03 14:02:07 +08:00 1 、拿 openid 可以静默授权,不需要用户同意。 2 、如果你关注了这个公众号,openid 和昵称头像这些,不需要同意,都可以拿到,有 API 的。 |
40 cbasil 2020-07-03 14:59:30 +08:00 1,通过 https://open.weixin.qq.com/connect/oauth2/authorize 跳转拿到 openid, 2, 通过接口拿到用户昵称,头像,这样就 OK 了。 3,如果想获取用户手机号啥的,就需要用户同意才行 |
41 yc8332 2020-07-03 17:56:23 +08:00 静默授权可以拿到 openid,要头像昵称就需要弹窗去授权了 |