Python实现企业微信第三方应用开发<回调接口>
前言
最近要上架一个新的第三方应用到企业微信,用Python写几个基础接口,先把应用上架测试。
一丶开发文档
二丶企业微信通信接口
1. 验证URL有效性
当点击“保存”提交以上信息时,企业微信会发送一条验证消息到填写的URL,发送方法为GET。
企业的接收消息服务器接收到验证请求后,需要作出正确的响应才能通过URL验证。
参数 | 说明 |
---|---|
SuiteId | 第三方应用的SuiteId |
InfoType | suite_ticket |
TimeStamp | 时间戳 |
SuiteTicket | Ticket内容,最长为512字节 |
直接上代码,点击解密函数可以获取官方提供的算法库 WXBizMsgCrypt3(Python3)
这里只需要获取参数,使用WXBizMsgCrypt,VerifyURL两个封装好的函数即可
from datetime import datetime
from sqlalchemy.engine import create_engine
from flask import Flask,request
from WXBizMsgCrypt3 import WXBizMsgCrypt
import sys
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
#服务商管理页面的基本信息参数
sCorpID = "***********"
sToken = '**********'
sEncodingAESKey ="***********"
SuiteID = "***********"
#获取url验证时企业微信发送的相关参数
sVerifyMsgSig=request.args.get('msg_signature')
sVerifyTimeStamp=request.args.get('timestamp')
sVerifyNonce=request.args.get('nonce')
sVerifyEchoStr=request.args.get('echostr')
sReqMsgSig = sVerifyMsgSig
sReqTimeStamp = sVerifyTimeStamp
sReqNonce = sVerifyNonce
#验证url
if request.method == 'GET':
wxcpt=WXBizMsgCrypt(sToken,sEncodingAESKey,sCorpID)
ret,sEchoStr = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,sVerifyNonce,sVerifyEchoStr)
print(type(ret))
print(type(sEchoStr))
if (ret != 0):
print("ERR: VerifyURL ret: "