在企业微信创建自建应用
1、登录企业微信后台,在“应用管理>自建”中点击“创建应用”,填写应用信息创建。
![2537683cbe533729f1fc9b7e5d546400.png](https://i-blog.csdnimg.cn/blog_migrate/dc97b5a4f4d449840b6e3333bef44c2b.jpeg)
创建应用
API配置表参数值获取
1、corpid:企业ID。在企业微信后台的“我的企业>企业信息”中获取。
![1e92c89cac49c625f7ceae89babc727f.png](https://i-blog.csdnimg.cn/blog_migrate/964511c687108e2cd47fe72c2836ce08.jpeg)
获取企业ID
2、corpsecret:应用凭证密匙。在自建应用详情中获取。
![b8ac9749e6128bf218396cca34f3cbf2.png](https://i-blog.csdnimg.cn/blog_migrate/a3e182f90587e1c40d093e21584c9cb9.jpeg)
获取应用凭证密匙
如果要使用通讯录相关API则corpsecret在“管理工具>通讯录同步”中获取。
![5cadd3d8a6586731551510edf31939d9.png](https://i-blog.csdnimg.cn/blog_migrate/203557ec49a08f757948a7a32d4a47b8.jpeg)
获取通讯录相关API
3、AesKey及token:加密的AES KEY和消息token。
如果是接收外部联系人变更回调等事件信息,则在“自建应用详情>接收消息>设置API接收”中获取。
![7e4969366ab44dd4c47c9885fdb912ac.png](https://i-blog.csdnimg.cn/blog_migrate/f3831592e87fdd3737078d9ff623f7b5.jpeg)
找到“设置API接收”
![5f11bf3943b5a9d1fd4ffdcab55877d3.png](https://i-blog.csdnimg.cn/blog_migrate/912bd5db0c5884ac466b8c9ddcd933ba.jpeg)
获取
如果是接收通讯录相关回调事件信息,则在“管理工具>通讯录同步>设置接收事件服务器”中获取。
![2f994e4c8e1d271ae40bb7ff4cf5b378.png](https://i-blog.csdnimg.cn/blog_migrate/f638c653edcfc1af9033ec8849eb4528.jpeg)
通讯录同步
![7093ba439c7b1f3d7771fb6af3085292.png](https://i-blog.csdnimg.cn/blog_migrate/dc0ab7ba42f81b080b857c0bea981f06.jpeg)
设置接收事件服务器
![947bd13f3196572aa940feadc7dee95c.png](https://i-blog.csdnimg.cn/blog_migrate/e851ef7255c807777dfa276a595bda04.jpeg)
获取
云函数使用
1、根据企业微信API模板创建云函数
![5d4f09687c4b6fc8971168d4c9c2267e.png](https://i-blog.csdnimg.cn/blog_migrate/92fd06b95bac5b579e57d348c0c92730.jpeg)
创建云函数
2、参照上文填写配置参数。
![2f093f33633afb41a4997465581d6408.png](https://i-blog.csdnimg.cn/blog_migrate/4996660e7ab1998dc1d7755a13bfd105.jpeg)
填写参数
3、在编程中编写API。可使用$modules.wcworkApi调用部分已封装API,使用$output输出。
![a304cc4968e0afd2dd97e76797e6bd17.png](https://i-blog.csdnimg.cn/blog_migrate/2fda78fb34e53f361df5fe35f62613e1.jpeg)
编写API
鼠标移入可查看API说明。
![847cd9dd8c24890e992aa8eb4304fd8b.png](https://i-blog.csdnimg.cn/blog_migrate/9d1d0849345ae813a89d79029bf75d96.jpeg)
查看API说明
4、保存测试。
编写完成后,点击右上方的保存按钮保存代码,并将此云函数开启。
![1d32c370b9a12137f36ef2ca0c512651.png](https://i-blog.csdnimg.cn/blog_migrate/befb9b6546855f7e549991a34b13e149.jpeg)
先1再2啊看清楚
在编程下方展开在线调试工具,点击测试,查看运行结果。
![a88894f259bbf7d79b2af9c42e05b94a.png](https://i-blog.csdnimg.cn/blog_migrate/c18e22f9de0b624627daaaf11b3b914a.jpeg)
测试
5、在功能中调用云函数。
确保云函数无误开启后,在功能中创建API步骤,选择“自定义API”,再选择对应云函数加以调用。
![69bf143d970c51e69ca5af9e5fd4863e.png](https://i-blog.csdnimg.cn/blog_migrate/f2995f702c1feda573c3ee51baa9e910.jpeg)
调用
Webhook使用
1、以与云函数类似的方式创建webhook,并配置相关参数。
![7119e3e8103492f2d29b49e172288b63.png](https://i-blog.csdnimg.cn/blog_migrate/d1a8d0eeb9f19cc87617e6818be2a21b.jpeg)
配置参数
2、按照以下格式编写代码
async function hook($req, $resp, $modules = modules) { //get 请求用于验证有效性if ($req.method == "GET") {//处理已封装,可直接调用 $resp.body = await modules.wxworkApi.getVerifyMsg($req); } else if ($req.method == "POST") { //无法保证在五秒内处理完成,先回复(企业微信服务器在五秒内收不到响应会断掉连接) $resp.body = "success"; //处理 let handle = async () => { //将数据转换成json let data = await modules.wxworkApi.getMsgData($req); if (data.Event == "change_contact" && data.ChangeType == "create_party") { //TODO 处理添加部门事件 } } handle(); }}
3、保存代码,复制webhook路径。
![034e30205aecb920245fe0de56d51769.png](https://i-blog.csdnimg.cn/blog_migrate/035ab8d87f1a3bf32b57dfe74220fa18.jpeg)
保存后复制
4、在企业微信后台的消息回调配置中(自建应用的API接收消息或通讯录同步中的接收消息服务器设置)将复制的webhook路径粘贴到url中。保存时将验证有效性。
![a1df84cfa51583350e94646a5c92d5ff.png](https://i-blog.csdnimg.cn/blog_migrate/4bc37b99ef166f0cfcc7cd1f10905c71.jpeg)
粘贴
5、在浏览器中直接打开webhook路径应显示“ok”。使用企业微信做相关操作触发回调以检测webhook处理结果。
![e77e924d0ffcad39f94b064cc42e9674.png](https://i-blog.csdnimg.cn/blog_migrate/c637a67fc43083519d39a2a1ae04dc3c.jpeg)
测试