获取微信openID

官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

前置条件

拿到公众号的appId(最好在静态文件中写配置项,用户可直接修改服务器上的静态文件,不需要改代码)secret安全级别较高,不保存在客户端(页面缓存或服务器文件),公众号已设置网页授权回调域名(相当于微信后台白名单)

流程介绍

  • 先根据appId获取code,回调链接会带上code,此时,拿链接中的code、appId、secret去请求refresh_token、access_token、openid等信息。这个过程是静默的,用户无感知。

如果只是拿openid,在请求code时scope=snsapi_base;如果还需要拿userInfo,scope=snsapi_userinfo,且需要用户手动点击同意之后才能获取到code(用户未关注公众号的情况下,如果已关注,那这个过程也是静默的)
注:回调链接 redirect_uri 需要先配置,在微信后台可访问到!!

获取code:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
在这里插入图片描述
获取openId:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
在这里插入图片描述

问题排查

  • 获取code失败,报错信息如下,检查公众号配置的网页授权是否正确
  • 服务器能否正常访问微信API,不行的话需要增加DNS解析
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值