企业微信开发H5页面授权 使用接口的问题

企业微信 h5踩坑指南

企业微信开发H5页面授权 使用接口的问题

开发企业微信的时候 h5页面需要获取登录用户的信息,这个时候就需要jsdk里面的 [开发文档] (https://work.weixin.qq.com/api/doc/90001/90144/90545)里面有比较详细的介绍,但是还是要踩好多坑
开发的H5页面使用的是 vue开发的

h5页面获取signature

这个配置文档已经说的很清楚,我们开发的项目是由后端返回的signature,应为重定向地址的时候 是无法获取code的,里面的

wx.config({
    beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,企业微信的corpID
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
    jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});

需要企业微信管理后台配置 重定向的链接,配置流程,链接地址
企业微信重定向地址配置
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

参数	必须	说明
appid	是	第三方应用id(即ww或wx开头的suite_id)。注意与企业的网页授权登录不同
redirect_uri	是	授权后重定向的回调链接地址,请使**用urlencode对链接进行处理** ,注意域名需要设置为第三方应用的可信域名  **这个必须要授信的域名 不然无法获取code**
response_type	是	返回类型,此时固定为:code
scope	是	应用授权作用域。
snsapi_base:静默授权,可获取成员的基础信息(UserId与DeviceId);
snsapi_userinfo:静默授权,可获取成员的详细信息,但不包含手机、邮箱等敏感信息;
snsapi_privateinfo:手动授权,可获取成员的详细信息,包含手机、邮箱等敏感信息(已不再支持获取手机号/邮箱)。
state	否	重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
#wechat_redirect	是	固定内容

agentConfig注入应用的权限

config和agentConfig是不同的 这个要注意 可以仔细阅读文档 文档写的还是比较清楚  [链接地址](https://work.weixin.qq.com/api/doc/90001/90144/94325),由于自己疏忽 这一块调试的时候 一直不通,实际上官方已经解释了

agentConfig的作用

config注入的是企业的身份与权限,而agentConfig注入的是应用的身份与权限。尤其是当调用者为第三方服务商时,通过config无法准确区分出调用者是哪个第三方应用,而在部分场景下,又必须严谨区分出第三方应用的身份,此时即需要通过agentConfig来注入应用的身份信息。

报错信息查询

企业微信的config和agentconfig 调试不成功 都会报错400093
这个里面有经常的报错信息  [点击我](https://work.weixin.qq.com/api/doc/90001/90144/90542)

有时候会企业微信在ios端会报错

报错wx.agentConfig is not a function 这是引入文件的问题
在进行企业微信JS SDK对接时,正确引用的JS文件应该是https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js,

企业微信还没踩完 后续 回持续更新

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在微信H5页面实现微信授权登录,可以按照以下步骤进行操作: 1. 在微信公众平台上申请开发者账号,并创建一个用于开发的公众号。 2. 在公众号设置中,将“网页授权域名”设置为你的H5页面所在的域名。 3. 引入微信JS-SDK,获取JS-SDK签名。 4. 在微信开放平台申请网页授权的方式,获取到AppID和AppSecret。 5. 在后端服务器中,通过AppID和AppSecret获取access_token和openid。 6. 在前端页面中,通过微信JS-SDK的wx.config初始化配置,包括appId、timestamp、nonceStr、signature等参数。 7. 调用微信JS-SDK的wx.ready方法,初始化成功后进行接下来的操作。 8. 在前端页面中,通过微信JS-SDK的wx.checkJsApi方法,判断当前客户端版本是否支持指定的js接口,如微信登录相关接口。 9. 在前端页面中,调用微信JS-SDK的wx.login方法,显示微信登录按钮,用户点击按钮后会调用wx.login方法,获取code。 10. 前端将获取到的code通过ajax等方式发送给后端服务器。 11. 后端服务器通过code、AppID和AppSecret等参数向微信服务器发送请求,获取access_token和openid。 12. 后端服务器将获取到的access_token和openid返回给前端。 13. 前端根据获取到的access_token和openid进行相应的处理,例如获取用户信息,实现微信登录功能。 需要注意的是,以上步骤中需要在微信公众平台、微信开放平台和自己的后端服务器进行相应的配置和开发工作,确保整个流程的正确性和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值