【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务

简介: 【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


有了上一篇文章的 公众号开发避坑指南,为了避免微信服务设定的5s超时的限制,我需要能给用户主动发消息的接口权限。要么是认证的微信服务号或订阅号,要么是企业微信

看了半天,还是企业微信比较方便一点,不用认证也可以主动给用户发消息。

于是,我又开始折腾企业微信的开发了…

本文为入坑的第一篇,带大家看下企业微信的自建应用的开发,如何与自己的服务链接起来。

0. 申请一个企业微信

首先,我们得有一个企业微信。

自行注册即可,这个没什么限制,也不需要认证。

注册链接:https://mp.weixin.qq.com/cgi-bin/loginpage?url=%2Fcgi-bin%2Fhome%3Ftoken%3D1752863136

1. 创建自建应用和配置

(1)有了企业微信,登录企业微信管理后台:https://work.weixin.qq.com/

(2)在“应用管理”页面,点击“创建应用”

(3)填写创建应用的信息

(4)创建成功后,点进这个应用界面,可以看到应用的 AgentId 和 Secret。Secret请保存好,不要暴露!

(5)在应用界面的功能区域,接收消息模块,点击“API接收”

(6)会跳到API接收消息的配置面板,这就到了与微信公众号配置(这篇文章)相似的地方了。

这里需要填自己的服务地址,Token 和 EncodingAESKey 可以随机生成。

在填写完,点“保存”之前,还需要先进行服务端配置。

2. 服务端配置

与 微信公众号配置(这篇文章)相似,服务端也需要有所配置,才能成功将上面的API接收消息填写的内容保存。这里的配置,也是要写一个签名验证代码。

不同的是,企业微信的消息貌似都是加密的(微信公众号可以选择明文方式),需要自己解密并校验。

鉴于加解密算法相对复杂,企业微信提供了加解密的库。

Python库链接:https://github.com/sbzhu/weworkapi_python/blob/master/callback/WXBizMsgCrypt3.py

你可以直接将以上代码库下载,但其实,如果只是用来校验签名,可以只复制里面的这两个文件即可。

将这两个文件放到你的工程文件夹下,然后写以下代码:

from WXBizMsgCrypt3 import WXBizMsgCrypt
qy_api = [
    WXBizMsgCrypt("xxx", "xxx", "xxx"), 
] #对应接受消息回调模式中的token,EncodingAESKey 和 企业信息中的企业id
# 开启消息接受模式时验证接口连通性
def signature(request, i): 
    msg_signature = request.args.get('msg_signature', '')
    timestamp = request.args.get('timestamp', '')
    nonce = request.args.get('nonce', '')
    echo_str = request.args.get('echostr', '')
    ret,sEchoStr=qy_api[i].VerifyURL(msg_signature, timestamp,nonce,echo_str)
    if (ret != 0):
        print("ERR: VerifyURL ret: " + str(ret))
        return("failed")
    else:
        return(sEchoStr)
@app.route('/company_wechat', methods=['GET', 'POST']) 
def company_wechat():
    echo_str = signature(request, 0)
    print("company_wechat")
    return (echo_str)

企业ID的查看方式:

然后运行此Flask应用。

这时候再回到企业微信后台“API接收消息”的那里,点击保存。如果配置无误,应该能保存成功。

这时候,才算是真正将企业微信的自建应用与我们自己的服务打通了。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
ly~
|
6天前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
38 6
|
6天前
|
数据可视化 Python
Python绘制基频曲线——实例解析与应用探讨
Python绘制基频曲线——实例解析与应用探讨
30 9
|
3天前
|
数据挖掘 Python
【Python】应用:pyproj地理计算库应用
这篇博客介绍了 `pyproj` 地理计算库的应用,涵盖地理坐标系统转换与地图投影。通过示例代码展示了如何进行经纬度与UTM坐标的互转,并利用 `pyproj.Geod` 计算两点间的距离及方位角,助力地理数据分析。 安装 `pyproj`:`pip install pyproj`。更多内容欢迎关注本博客,一起学习进步! Pancake 🍰 不迷路。😉*★,°*:.☆( ̄▽ ̄)/$:*.°★* 😏
|
4天前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
|
5天前
|
Linux Android开发 iOS开发
开源的Python库,用于开发多点触控应用程序
Kivy是一款开源Python库,专为开发多点触控应用设计,支持Android、iOS、Linux、OS X和Windows等平台。本文将指导你使用Kivy创建“Hello World”应用并打包成Android APK。首先通过`pip install kivy`安装Kivy,然后创建并运行一个简单的Python脚本。接着,安装Buildozer并通过`buildozer init`生成配置文件,修改相关设置后,运行`buildozer -v android debug`命令打包应用。完成构建后,你将在`./bin/`目录下找到类似`your-app-debug.apk`的文件。
12 2
|
7天前
|
JavaScript 前端开发 UED
WebSocket在Python Web开发中的革新应用:解锁实时通信的新可能
在快速发展的Web应用领域中,实时通信已成为许多现代应用不可或缺的功能。传统的HTTP请求/响应模式在处理实时数据时显得力不从心,而WebSocket技术的出现,为Python Web开发带来了革命性的变化,它允许服务器与客户端之间建立持久的连接,从而实现了数据的即时传输与交换。本文将通过问题解答的形式,深入探讨WebSocket在Python Web开发中的革新应用及其实现方法。
20 3
|
6天前
|
数据库 开发者 Python
实战指南:用Python协程与异步函数优化高性能Web应用
在快速发展的Web开发领域,高性能与高效响应是衡量应用质量的重要标准。随着Python在Web开发中的广泛应用,如何利用Python的协程(Coroutine)与异步函数(Async Functions)特性来优化Web应用的性能,成为了许多开发者关注的焦点。本文将从实战角度出发,通过具体案例展示如何运用这些技术来提升Web应用的响应速度和吞吐量。
12 1
|
6天前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
7天前
|
机器学习/深度学习 物联网 算法框架/工具
探索Python的魅力与应用
在这篇文章中,我们将深入探讨Python编程语言的各个方面。从它的起源和设计理念开始,到具体的应用场景和技术实现,我们将一步步揭示Python成为现代编程领域中不可或缺的工具的原因。无论是对于初学者还是有经验的开发者来说,Python的魅力都不容小觑。
15 1
|
6天前
|
iOS开发 Python
6-8|如何使用Python语言开发IOS混淆工具
6-8|如何使用Python语言开发IOS混淆工具
下一篇
无影云桌面