Server酱更新:企业微信应用通道支持配置代理URL

2022年6月20日之后新创建的企业微信应用,企业微信官方要求配置可信IP,这导致Server酱的此通道对于新注册企业微信的用户不可用。

我们之前提供了Wecom酱这种完全独立架设的开源方案,但依然有用户希望Server酱提供代理转发机制。于是我们在Server酱的企业微信应用通道设置中添加了「代理URL」选项。当填写后,请求将不再直接发往企业微信,而是「代理URL」。

自行架设代理需要一定的技术基础,不过好在腾讯云函数提供了一种更简单的解决方案,大家可以在请在「通道配置」页面,选中「企业微信应用消息」后,查看页面下方文档了解详情。

以下是更新后的文档。


企业微信应用消息通道

优点:

  1. 一次配置,持续使用
  2. 配置完成后使用时,只需要启动微信,不需要再启动企业微信客户端
  • PS:消息接口无需认证即可使用,个人用微信就可以注册
  • PS2:本通道的消息可以推送到微信,但并不是在方糖服务号内,而是在专门的企业微信分组,如看不到消息,请仔细查找。

流程

具体操作

第一步,注册企业

用电脑打开企业微信官网,注册一个企业

第二步,创建应用

注册成功后,点「管理企业」进入管理界面,选择「应用管理」 → 「自建」 → 「创建应用」

应用名称填入「Server酱」,应用logo到这里下载,可见范围选择公司名。

创建完成后进入应用详情页,可以得到应用ID( agentid ),应用Secret( secret ),复制并填到上方。

PS:获取应用Secret时,可能会将其推送到企业微信客户端,这时候微信里边是看不到的,需要在企业微信客户端里边才能看到。

第三步,架设代理并设置应用可信IP

2022年6月20日之后新创建的应用才需要这一步,之前创建的无需这步。

架设代理

你需要一个独立使用的公网IP。可以是自己的服务器,也可以采用腾讯云函数(推荐)。

方案一: 独立服务器,使用docker命令启动服务

首先你需要在服务器上配置好docker环境,或者直接购买预装了docker环境的服务器

docker run -d -p <你想要的端口>:9000 easychen/serverchan-wecom-proxy:latest

你也可以直接使用Node,代码见这里

方案二:腾讯云函数

其他云函数支持Node、且可分配独立公网IP的也可以,以下以腾讯云函数为例进行讲解。

创建一个web函数

运行环境: NodeJS 18.15。 修改默认的函数代码:

app.js

const gateway = require('fast-gateway')
const server = gateway({
    routes: [{
      prefix: '/cgi-bin',
      prefixRewrite: '/cgi-bin',
      target: 'https://qyapi.weixin.qq.com'
    }]
}).start(9000)

package.json

{
  "name": "origin",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
     "fast-gateway": "^3.4.7" 
  }
}

// 去掉其他依赖,添加fast-gateway。以上代码的最新版在GitHub仓库

函数URL配置启用「公网访问」;点击「完成」开始创建应用。

参考下图:

应用创建完成后不跳转,进入「函数管理」→「函数代码」中,打开「自动安装依赖」,然后点「部署」按钮。

部署成功后,进入「函数管理」→「函数配置」,点击「编辑」按钮。

在编辑界面,「网络配置」一节,选中「固定公网出口IP」。

保存后,页面会刷新,页面上「网络配置」一节,稍等片刻即可看到一个分配好的公网IP。

点击云函数页面左侧的「函数URL」,在「访问路径」后边,复制公网路径。这就是我们的「代理URL」。

填写可信IP

在「应用详情页」的最下方,开发者接口分类中,找到「企业可信IP」,点击「配置」

在弹出的文本框中填入上边的公网IP。

第四步,获取企业ID

进入「我的企业」页面,拉到最下边,可以看到企业ID,复制并填到上方。

「推送UID」直接填 @all ,推送给公司全员。

「代理URL」填写上文中的云函数URL。

第五步,推送消息到微信

进入「我的企业」 → 「微信插件」,拉到下边扫描二维码,关注以后即可收到推送的消息。

PS:如果出现接口请求正常,企业微信接受消息正常,个人微信无法收到消息的情况,请确认如下配置:

在企业微信客户端 「我」 → 「设置」 → 「新消息通知」中关闭「仅在企业微信中接受消息」限制条件

进入「我的企业」 → 「微信插件」,拉到最下方,勾选「允许成员在微信插件中接收和回复聊天消息 」

如果对文章内容有疑问或者有经验分享,请在评论中留言,我们会及时回复。
发表回复