ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在个人微信上与自搭服务端交互

2022-06-29 21:35:22  阅读:201  来源: 互联网

标签:个人 微信 创建 服务器 企业 交互 服务端 页面


背景

我有时候想捣鼓个工具用。起初是为了让我及时掌握一些信息,想做一个消息推送功能。但是由于功能简单,不想单独开发个手机 APP。于是就想着能否直接把消息推送到个人微信上。

面临的问题

以前有 web 版的个人微信,有些人就基于 web 版的个人微信接口做了一个开发套件。但是现在 web 版只有少数一些微信号能够登录,我就登录不了。

另一种方式是申请公众号,使用公众号的消息推送。但是公众号主要是对关注者的,只用来给我自己推送消息不太合适。而如果在公众号上增加一些其他功能,等于是把功能开放给所有关注的人了,没什么必要。

后来我才知道公众号的消息推送有次数限制,不过对于个人使用已经足够了。

最终采取的方案是通过企业微信把消息推送到个人微信。

实现后的消息流向

个人微信 -> 企业微信 -> 个人服务器
个人微信 <- 企业微信 <- 个人服务器

实现步骤

  1. 在企业微信手机端上创建企业(不会核实真实企业)
  2. 在企业微信web端管理页面通过个人微信扫码绑定企业的微信插件
  3. 在web端管理页面上创建应用
  4. 在个人服务器上启动服务
  5. web端管理页面设置应用接收信息的 API 地址
  6. 在个人微信上收发消息

1. 在企业微信上创建企业

以手机企业微信为例,菜单依次如下:

我 | 设置 | 管理企业 | 全新创建企业 | 企业

  • 填写企业名称
  • 行业类型根据需要选择
  • 员工规模选择1-50人
  • 真实姓名填写自己的姓名

点击创建就能创建成功了。

2. 绑定插件

上一步创建企业后,会自动将当前帐号切换到这个企业(之后可以来回切换)。

电脑浏览器访问:

https://work.weixin.qq.com/wework_admin/frame#profile/wxPlugin

在切换到新创建的企业后,用企业微信的扫码登录。

登录后会自动跳转到【微信插件】功能页。可以看到下图那样的页面。

用个人微信扫【邀请关注】一栏的二维码。关注后,个人微信会绑定该企业。如果企业微信加入了多个企业(如正在任职的企业),不用担心会绑定到这些企业上。

3. 创建应用

电脑浏览器访问:

https://work.weixin.qq.com/wework_admin/frame#apps

进入应用管理模块。

依次访问:

应用 | 自建 | 创建应用

如下图:

填写页面要求的信息,记得在可见范围里把自己选上。

创建成功后,进入应用页面可以看到以下信息:

  • AgentId
  • Secret
  • 功能 | 接收消息 | 设置API接收

其中标记 2 的 Secret 是企业的密码。在请求企业微信接口的时候,要使用企业 ID 和应用密码获取 Token。

接着进入应用页面里标记 3 的【设置API接收】。

注意这里的 Token 仅用于计算签名,和请求企业微信接口时用于验证身份的 Token 不是同一个,因此随机获取就行。

URL 按以下格式填写:

http://IP:端口/qiye-wechat/agents/应用的AgentId

这里的 IP 和端口设置为个人服务器的 IP,以及即将在下一步启动服务时开放的端口。

Token 和 EncodingAESKey 随机获取或者自己填都行。

填完之后先不点保存,等到下一步【启动服务】执行完后再保存。因为保存的时候。企业微信会向上面的 URL 发送一个请求验证。

4. 启动服务

登录个人服务器,下载下面这个项目:

https://github.com/schaepher/noty

进入项目文件夹,复制一份 config.json.example 到 config.json。初始内容为:

{
    "addr": "127.0.0.1:55556",
    "corp_id": "",
    "agents": [
        {
            "id": 1000002,
            "secret": "",
            "token": "",
            "encoding_aes_key": "",
            "type": "echo"
        }
    ]
}

corp_id 是企业的 ID。通过以下链接页面底部获取:

https://work.weixin.qq.com/wework_admin/frame#profile

在 agents 里面,填写刚刚创建的应用的信息。其中 secret 是通过应用界面的 Secret 一栏进入获取的。也就是下图的标记 2。

type 是 agent 类型,与企业微信无关,与本项目 qiyewechat 文件夹里 agent.go 的 AgentFactory 有关。默认为 echo,作用是个人微信发什么,服务器就返回什么。

接下来是编译和运行。

go build
./noty

5. 配置企业微信

回到刚才的【设置API接收】界面,点击保存。此时企业微信会发一条验证信息到服务器,如果通过,就能成功保存。

保存成功后,在这个页面下方的【企业可信IP】卡片里选择配置,将刚刚填入到 URL 的服务器 IP 添加进去。这样之后服务器才能主动调用企业微信的 API。

6. 个人微信收发消息

在个人微信的【我的企业及企业联系人】分组中,找到企业。进入后可以看到应用,发送消息即可。

标签:个人,微信,创建,服务器,企业,交互,服务端,页面
来源: https://www.cnblogs.com/schaepher/p/16424963.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有