获取微信用户openid

附上开发文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

开发之前,准备事项

  1. 一个已认证过的服务号|
  2. 基本信息配置
  3. js域名和网站授权域名配置
  4. 最后确认当前账号网页授权功能是否开通,没有开通的无法获取到用户授权
  5. 开发人员可能需要在"设置与开发-开发者工具-web开发者工具"里面帮顶一下开发者微信号

用户同意授权,获取code

1、准备好appid,就是上面第二步的appid,

2、还有微信授权完成之后的展示页面地址,这个地址要通过urlEncode 对链接进行处理,可以在这个网站进行转换UrlEncode编码/UrlDecode解码 - 站长工具

第一步微信开发者工具中打开下面链接

javascript 复制代码
//appid REDIRECT_URI 替换为自己的
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

授权之后,会跳转到redirect_uri页面,同时,在redirect_uri链接后面会拼接上**?code=011mb2Sy1FSZS90KSsUy1Su9Sy1mb2SP&state=1** **(这里为举例)**里面的code就是我们需要的。

通过code换取网页授权access_token

javascript 复制代码
//这里的CODE就是第一步返回链接后拼接的CODE
//SECRET是公众号的appsecret
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

在浏览器中输入上面的链接即可得到用户的openid等等信息。

上面开发的步骤总结为已下内容:

|----|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|---|
| 步骤 | 参数 | 请求链接 | 返回参数 | |
| 1 | appid,redirect_uri 说明:redirect_uri为线上当前页面地址,地址要转码,线上转码地址:http://tool.chinaz.com/tools/urlencode.aspx | https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid\&redirect_uri=redirect_uri\&response_type=code\&scope=snsapi_base\&state=STATE#wechat_redirect 说明:scope为snsapi_base不会调起授权的弹窗 | code |
| 2 | appid,code,secret | https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid\&secret=secret\&code=code\&grant_type=authorization_code | openid |

相关推荐
毛丫讲绘本2 天前
独立老师开始做绘本课,怎样做少走弯路?
人工智能·学习·微信·微信公众平台·微信开放平台
行思理3 天前
微信支付“商家转账用户确认模式”,新手教程
java·开发语言·微信
wechatbot8883 天前
企业微信 AI 自动化运营:RPA 与 API 方案效果实测
人工智能·微信·自动化·企业微信·rpa
星期一研究室7 天前
创作分发这件事,来看看Codex是怎么做的
人工智能·黑客·微信
随性而行36010 天前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化
2601_9630162612 天前
统一消息与事件调用:如何用微信接口把微信自动化做成稳健中台?
大数据·运维·人工智能·微信·自动化
微信开发api-视频号协议15 天前
企业微信外部群开发自动化实践过程
java·前端·微信·自动化·企业微信·ipad
微信开发api-视频号协议17 天前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台
微信开发api-视频号协议17 天前
Codex++安全边界探秘:从模型能力到风险防御
前端·安全·微信·企业微信
caimouse17 天前
reactos 测试安装32位微信失败的日志
开发语言·微信