微信开发系列——公众号内嵌H5页面获取code,拿到openID

如题所述

第1个回答  2022-06-08
如果在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
我们要进行授权,先要经过用户授权(静默授权和授权页弹出授权两种,具体看文档中scope解析)拿到 code ,再用 code 去换取网页授权 access_token, 使用access_token 去拿到用户的信息。

关于微信网页授权的官方文档说明:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
先熟悉下流程,每个字段的含义,以及注意事项。先把域名和环境配好。才能正式去获取授权。

1、官方文档中获取code参数示例:

scope 为 snsapi_base

scope 为 snsapi_userinfo

2、我的项目中只需要拿到 openID,所以采用的授权作用域为 scope = snsapi_base(不弹出授权页面,直接跳转,只能获取用户 openid )。
需要注意的是,redirect_uri 填自己部署项目的域名(注意该链接一定要使用urlencode 转换一下),不然除了第一个参数后面的参数传不过去(微信中其他URL中参数配置也是这样)。

获取地址的步骤和参数配置我就不赘述了,文档里说的很清楚。在重定向成功后解析code,这里方法贴一下:

getUrlParam('code') 调用一下就能拿到 code 结果,然后用这个 code 去调后台的接口让后台去微信后台拿openID。

或者用这个方法:
相似回答