开发需知
1、企业微信后台管理(不是小程序管理后台):企业微信
2、企业微信开发者文档(不是小程序文档):概述 - 接口文档 - 企业微信开发者中心
3、开发应用的类型:根据开发应用类型选择文档。
4、文档中有服务端API
和客户端API
,根据需要查看对应的API
说明。一般授权相关的在服务端API
,相询基础信息、客户信息、联系人等在客户端API
。
5、开发需知:https://developer.work.weixin.qq.com/document/path/90665,https://developer.work.weixin.qq.com/document/path/91039
6、创建企业内部应用的步骤:https://developer.work.weixin.qq.com/tutorial/detail/45
构造访问链接
1、在自建应用里找到创建的应用,点击应用进入应用详情,能看到AgentId
,Secret
等信息。
2、设置应用主页,如下图:
这个主页就是我们要访问的应用首页地址。格式:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE&agentid=AGENTID#wechat_redirect
参数说明:
参数 | 必须 | 说明 |
---|---|---|
appid | 是 | 企业的CorpID |
redirect_uri | 是 | 授权后重定向的回调链接地址,(即我们创建的应用首页的访问地址,需用域名)请使用urlencode 对链接进行处理 |
response_type | 是 | 返回类型,此时固定为:code |
scope | 是 | 应用授权作用域。 snsapi_base :静默授权,可获取成员的基础信息(UserId 与DeviceId ); snsapi_privateinfo :手动授权,可获取成员的详细信息,包含头像、二维码等敏感信息。 |
state | 否 | 重定向后会带上state参数,企业可以填写a-zA-Z0-9 的参数值,长度不可超过128个字节 |
agentid | 是 | 应用agentid ,建议填上该参数(对于第三方应用和代开发自建应用,在填写该参数的情况下或者在工作台、聊天工具栏、应用会话内发起oauth2 请求的场景中,会触发接口许可的自动激活)。snsapi_privateinfo 时必填否则报错; |
#wechat_redirect | 是 | 终端使用此参数判断是否需要带上身份信息 |
员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE
,企业可根据code参数获得员工的userid
。code长度最大为512字节。
详细介绍:构造网页授权链接 - 接口文档 - 企业微信开发者中心
注意事项:
1、链接中
appid
前面是固定的,https://open.weixin.qq.com/connect/oauth2/authorize?
2、
redirect_uri
的值就是我们应用的访问地址,并且要用域名访问。需要转码。3、在线转码工具:在线URL编码解码工具-UrlEncode编码-UrlDecode解码在线工具
例如,应用的主页地址为:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww123456&redirect_uri=https://test.com.cn/#/test/index&response_type=code&scope=snsapi_privateinfo&state=wechat&agentid=10000#wechat_redirect
用上面的转码工具转码后的地址为:
https%3A%2F%2Fopen.weixin.qq.com%2Fconnect%2Foauth2%2Fauthorize%3Fappid%3Dww123456%26redirect_uri%3Dhttps%3A%2F%2Ftest.com.cn%2F%23%2Ftest%2Findex%26response_type%3Dcode%26scope%3Dsnsapi_privateinfo%26state%3Dwechat%26agentid%3D10000%23wechat_redirect
此转码后的地址即为应用主页地址。
注意:
1、应用主页只能填写一个地址,所以为了区分测试和生产环境,要创建两个应用。两个应用有两个不同的应用id和应用secret。在注入应用权限时要区分应用id。
2、获取access_token是调用企业微信
API
接口的第一步,相当于创建了一个登录凭证,其它的业务API
接口,都需要依赖于access_token来鉴权调用者身份。因此开发者,在使用业务接口前,要明确access_token的颁发来源,使用正确的access_token。每个应用有独立的secret,获取到的access_token只能本应用使用,所以每个应用的access_token应该分开来获取。所以要把两个应用的secret都要提供给后台(access_token是后台获取的,需要企业id和应用secret)。
详细开发流程及API调用:
https://github.com/limchen233/Front-Web/blob/dev/22%20%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/2%E3%80%81%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E8%87%AA%E5%BB%BA%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B.mdhttps://github.com/limchen233/Front-Web/blob/dev/22%20%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/2%E3%80%81%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E8%87%AA%E5%BB%BA%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B.md 22 第三方应用开发/2、企业微信自建应用开发流程.md · lamCheung/Front-Web - Gitee.com