企业微信内嵌应用开发前置操作

背景 近期开发了一个客户营销工具,这个项目是我对企业微信内嵌应用开发的首次尝试,在前期虽然查看了企业微信的所有客户端api,部分客户端api,但是对企业微信能实现的功能及需要什么前置操作还是一头雾水,开发完这个项目,已对企业微信内嵌应用有了系统的认知。(这个项目只涉及js-sdk部分

通过企业微信登录

首先是页面通过企业微信免登录获取当前使用者信息:这部分文档在服务端api的身份验证部分,企业微信提供了OAuth的授权登录方式,可以让从企业微信终端打开的网页获取成员的身份信息,从而免去登录的环节,企业应用中的URL链接(包括自定义菜单或者消息中的链接),均可通过OAuth2.0验证接口来获取成员的UserId身份信息,OAuth2的设计背景,在于允许用户在不告知第三方自己的帐号密码情况下,通过授权方式,让第三方服务可以获取自己的资源信息,具体OAuth2的实现逻辑自行查阅官方文档。如果页面需要用户信息而没有的时候就需要构造一个授权页面,形式形如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
参数说明:

参数是否必传说明
appid企业的CorpID(非敏感信息)
redirect_uri授权后重定向的回调链接地址(需要请使用urlencode对链接进行处理)
response_type返回类型,此时固定为:code
scope应用授权作用域。企业自建应用固定填写:snsapi_base
state重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
#wechat_redirec`终端使用此参数判断是否需要带上身份信息

企业微信获取授权后,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid,由于appid是非敏感信息,而且如果后续需要企业微信的功能的话,注入接口权限时还需要这个参数,因此企业微信的登录授权完全可以由前端来实现,后端只需提供接口实现code到userid的换取。


使用企业微信提供的功能

企业微信提供了很多调用自身功能的api(后文只涉及客户端api),如:拍照、选图、语音、位置等手机系统的能力,同时可以直接使用企业微信分享、扫一扫等企业微信特有的能力,注意:在使用不同类型的api时需要的前置操作不同
首先,只要页面中使用了企业微信提供api一定需要通过config接口注入权限验证配置,具体实现过程查阅官方文档即可,下面列一些开发过程中在官方文档未明说或不好理解的关键点:

  1. 在注入接口权限验证配置时需要的签名,前端可以根据官方文档的说明自行通过sha1加密获取,另千万注意无论前端生成签名还是后端生成签名,需要的jsapi_ticket都必须是企业的,否则权限会认证失败,另如果调试模式下出现的提示是 40093都是因为签名不通过;在接口权限注入成功后会出现成功的提示,而且在提示中apiList里会有对应的api,如果在config里注入了需要通过agentConfig注入的接口,则提示的apiList中会有‘agentConfig’,这是你就要明白需要注入应用的权限了
  2. 通过config注入权限成功后,对企业微信的理解就已基本建立,这时再通过agentConfig就是一件很容易的事了,但是还要注意这时使用的签名是由应用的‘jsapi_ticket’生成的,使用错误还是会出现40093的问题

官方文档里注明: 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA(single-page application)的web app可在每次url变化时进行调用,看起来是提示我们在路由的 beforeEach中调用,但推荐在页面组件的生命周期函数中处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值