偶然看一个公众号,点过去不需要授权也能拿到头像和昵称,并且生成了账号 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
pytth 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,要头像昵称就需要弹窗去授权了
|