当前位置:首页 > 技术分析 > 正文内容

一文看懂企业微信开发简易教程

ruisui885个月前 (01-14)技术分析44

为让开发者快速理解开发流程,本篇章展示如何一步步设计一个能与企业后台互动的自建应用。

添加自建应用

登录企业微信管理端 -> 应用与小程序 -> 应用 -> 自建,点击“创建应用”,设置应用logo、应用名称等信息,创建应用。
创建完成后,在管理端的应用列表里进入该应用,可以看到agentid、secret等信息,这些信息在使用企业微信API时会用到。
创建完成后,该应用会自动出现在可见范围内的成员的企业微信终端上(包括手机端、pc端、微信插件)

使用工具调试api

我们已经创建好一个自建应用,且拿到了可用的应用id及secret,如何调用api控制这个应用呢?下面以发消息为例说明如何调试api接口。

调用api的过程,本质上就是发送http请求给企业微信后台,在正式开发前,我们可以使用工具模拟http请求调试api。这里以 postman 为例(下载地址,使用方法略),当然你也可以使用其它http模拟工具。

发消息api见发送应用消息,可以看到其实就是一个post请求

请求方式:POST(HTTPS
请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

post 参数为 access_token 和 消息体。

1.获取access_token

参考开始开发,access_token是应用调用api的凭证,由 corpid和corpsecret换取。

请求方式:GET(HTTPS
请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET

使用postman发送这样一个GET请求即可得到access_token(请把截图中的corpid、corpsecret换为自己的corpid、应用secret)

2.构造消息体

参考发送应用消息,可以发送文本、图片、视频等多种类型的应用消息,这里以最简单的文本消息为例:(注意修改touser、agentid为自己想要的接收者userid列表、应用id)

{
   "touser" : "abelzhu|ZhuShengben",
   "msgtype" : "text",
   "agentid" : 1000002,
   "text" : {
       "content" : "我就试一下"
   },
   "safe":0
}

3.发送消息

如下图示,以上面两步得到的access_token和消息体为参数,在postman中发送post请求即可(红色箭头所指为需要注意的点)

如果发送成功,在接收者的企业微信中的相应应用里,会收到一条文本消息。

实际上,企业微信提供了一套更方便的模拟工具,见开发者工具的“接口调试工具”。

debug模式调用接口

在开发过程中,可能由于你调用的参数有问题,我们的接口会返回errcode, 此时你可以在“全局错误码说明”查阅相应的错误原因。有时候可能根据错误码说明你仍然不知道自己的参数在哪里出错,这时候你可以在接口请求url里加上debug=1参数(暂未支持微盘相关接口),之后从接口返回的errmsg复制出hint值,再用以下工具进行查询,我们会返回你请求的完整参数(包括header与body)。

请求示例:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN&debug=1

查询页面:https://open.work.weixin.qq.com/devtool/query

注意: debug模式有使用频率限制,同一个api每分钟不能超过5次,所以在完成调试之后,请记得要去掉debug=1参数

使用php版本demo开始开发

为体验以代码的方式调用api的乐趣,下面以php开发语言为例,开发者需有一定的php基础。

从github下载示例代码。可以看到代码结构为:

├── api // API 接口
│ ├── datastructure // API接口需要使用到的一些数据结构
│ ├── examples // API接口的测试用例
│ ├── README.md
│ └── src // API接口的关键逻辑
├── callback // 消息回调的一些方法
├── config.php // 基础配置
├── README.md
└── utils // 一些基础方法

在 api/example/ 路径下,有个 config.php 文件,用于配置自己的企业id、应用id等信息。

如下图所示,修改 CORP_ID、APP_ID、APP_SECRET 为自己的企业信息。

在 api/example/ 路径下,有个发送消息的示例 MessageTest.php ,如下图所示,修改 touser(发送给的成员id列表)、toparty(发送给的部门id列表)、totag(发送给的标签id列表)等参数为自己的企业的信息。

执行 MessageTest.php 即完成消息发送(调试期间建议在根目录的 config.php 文件里,配置DEBUG参数为true,如果有失败,会打印错误信息)。如果发送成功,接收者的应用里会收到一条消息。

使用应用菜单

要实现这样的简单功能:用户点击应用菜单后,展现一个静态网页,告知企业后台系统的内存使用情况。

需要使用Apache搭建企业后台服务,请自行配置好php和Apache环境。

部署应用后台

我们需要在自己的服务器维护一个页面。以常用的 Apache + php 为例,搭建一个简单的企业后台。
在 Apache 的 website 目录下,创建一个页面 getmemoryusage.php,该文件内容如下:

<?php
echo "system memory usage " . memory_get_usage() . "B\n";
?>

页面非常简单,通过系统函数获取内存使用情况,并打印出来。
这个页面的地址为 http://ip:port/getmemoryusage.php (如何得到ip、port,请参考Apache文献,此处不详述)
如果有正确配置 Apache 服务,在当前浏览器里输入 http://ip:port/getmemoryusage.php ,可以看到页面。
如何让这个页面在企业微信应用中展现呢?

配置应用菜单

在管理端进入上面创建好的自建应用,点击“自定义菜单”项,菜单名自取,菜单内容选“跳转到网页”,URL填上 http://ip:port/getmemoryusage.php ,保存并发布,即完成了添加应用菜单的过程。

应用菜单发布后,从企业微信终端进入该应用,可以看到菜单已经更新。点击菜单即可看到企业后台系统的内存使用情况了!
注意,上面的URL在真实使用时必须外网可访问。如果只是用于测试,外网不可访问,那么测试的终端必须与页面所在服务器在同一个网段,或者使用内网穿透工具(如花生壳)。

设计更有趣的应用

以上过程只是建立了一个非常简单的应用。企业微信提供了多达近200个api,开发者可以使用这些api实现更多丰富多彩的功能。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/262.html

分享给朋友:

“一文看懂企业微信开发简易教程” 的相关文章

首个支持苹果 M1 Mac 的 Linux 发行版发布,面向用户开放下载

IT之家 3 月 20 日消息,Asahi Linux 是研究 Linux for Apple Silicon macs 的组织群体,3 月 18 日,Asahi Linux 宣布成功在 M1 MacBook Air 笔记本电脑上运行,并开放了 Asahi Linux 的下载安装。Asahi Lin...

HTML5最新版本介绍

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范...

深度解析!AI智能体在To B领域应用,汽车售后服务落地全攻略

在汽车售后服务领域,AI智能体的应用正带来一场效率和专业度的革命。本文深度解析了一个AI智能体在To B领域的实际应用案例,介绍了AI智能体如何通过提升服务顾问和维修技师的专业度及维修效率,优化汽车售后服务流程。上周我分享了AI智能体+AI小程序To C的AI应用场景《1000%增长!我仅用一个小时...

「干货」FPGA设计中深度约束技巧及调试经验总结

今天跟大家分享的内容很重要,也是我们调试FPGA经验的总结。随着FPGA对时序和性能的要求越来越高,高频率、大位宽的设计越来越多。在调试这些FPGA样机时,需要从写代码时就要小心谨慎,否则写出来的代码可能无法满足时序要求。另外,最近跟网友聊天时,有谈到公众号寿命的问题,我觉得网络交换FPGA公众号应...

佳能 EOS R8 深度评测

佳能 EOS R8 的定位是入门级全画幅无反光镜可换镜头相机。尽管在产品阵容中处于这一位置,R8 仍然是一个强大的相机,配备了先进的 R6 II 同款成像传感器、快速处理器和令人难以置信的自动对焦系统,体积小、重量轻、价格低。这款相机是发烧友、旅行者、家庭以及任何想要全画幅传感器相机的人的绝佳选择。...

VUE-router

七.Vue-router1、什么是vue-routervue-router是vue.js官方路由管理器。vue的单页应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统页面切换是用超链接a标签进行切换。但vue里是用路由,因为我们用Vue做的都是单页应用,就相当于只有一个主的i...