微信小程序配置消息推送提示“系统错误 请稍后再试“记

问题说明

最近在配置小程序消息推送时遇到问题,配置号url地址、Token、EncodingAESKey(消息加密密钥)后点击提交显示"系统错误,请稍后再试"

刚开始检查了URL地址没有错,Token没有错,消息加密密钥没有错

然后经过漫长的挣扎,之后使用微信的调试工具测试了一下URL连通性

测试提示"连接到你的服务器发生错误  http416"并且看最下面你的echostr的地方,微信正常发了这个参数,结果我们回复的参数是空的(这里当时不确定是回复的空值还是压根服务器就没回复值)

所以问题就在这里,刚开始还以为是代码问题.....之前也配置过相同的,都不是因为代码错误导致的

可能导致错误的原因,如下情况:

1.微信发包成功到服务器了,代码执行了,但是因为有错误,导致需要原样给微信返回的echostr或者参数没有正常返回或者说返回的不一致

2.微信发包没到服务器,没执行,没返回,没到服务器就已经挂了肯定返回不了参数

3.微信发包到服务器,结果被防火墙或策略规则、白名单、防篡改之类的拦截了

4.微信发包到服务器 因为反向代理或重定向被转移了

检查:

1.确认代码逻辑没问题

2.没有填写错误 url 、token、消息加密密钥

3.服务器没有拦截或显示微信的请求

4.小程序必须是https,要有SSL证书

5.证书没有过期

6.服务器没有过期

### 如何快速通过 DeepSeek API 接入微信公众号 #### 准备工作 为了成功将 DeepSeek API 接入到微信公众号,前期准备工作至关重要。访问 [DeepSeek 官网](https://www.deepseek.com/)完成账号注册,并确保获得有效的 API Key 以便后续调用智能问答服务[^2]。 #### 设置环境变量 在开发环境中设置必要的配置项,特别是 `open_ai_api_base` 参数应指向官方提供的地址 `"https://api.deepseek.com/v1"`[^3]。这一步骤对于确保求能够正确发送给 DeepSeek 的服务器非常关键。 ```bash export DEEPSEEK_API_KEY="your-api-key-here" export OPEN_AI_API_BASE="https://api.deepseek.com/v1" ``` #### 创建微信公众平台应用 登录微信公众平台后台创建一个新的小程序或订阅号项目,在此过程中需注意录下 AppID 和 AppSecret 这两个重要参数,它们将在稍后的接口对接环节发挥作用。 #### 编写代码实现消息处理逻辑 下面是一个简单的 Python 实现例子,展示了如何利用 Flask 框架接收来自微信的消息推送并通过 DeepSeek API 返回回复: ```python from flask import Flask, request, make_response import requests app = Flask(__name__) DEEPSEEK_API_URL = 'https://api.deepseek.com/v1/chat/completions' WECHAT_TOKEN = 'your-wechat-token' @app.route('/wechat', methods=['GET', 'POST']) def wechat(): if request.method == 'GET': query_token = request.args.get('echostr') if check_signature(request): return make_response(query_token) elif request.method == 'POST': xml_data = request.data.decode('utf-8') msg_content = parse_xml(xml_data)['Content'] response_text = get_deepseek_reply(msg_content) reply_msg = f"<xml><ToUserName><![CDATA[{parse_xml(xml_data)['FromUserName']}]]></ToUserName>\ <FromUserName><![CDATA[{parse_xml(xml_data)['ToUserName']}]]></FromUserName>\ <CreateTime>{int(time.time())}</CreateTime>\ <MsgType><![CDATA[text]]></MsgType>\ <Content><![CDATA[{response_text}]]></Content></xml>" return make_response(reply_msg) def get_deepseek_reply(message): headers = { 'Authorization': f'Bearer {os.getenv("DEEPSEEK_API_KEY")}', 'Content-Type': 'application/json', } data = {"messages":[{"role":"user","content":message},{"role":"assistant"}]} resp = requests.post(DEEPSEEK_API_URL, json=data, headers=headers).json() return resp['choices'][0]['message']['content'] if __name__ == '__main__': app.run(port=5000) ``` 上述代码片段实现了基本的文字交互功能,当收到用户发来的信息时会自动转发给 DeepSeek 并展示返回的结果作为回应。 #### 测试与部署 最后不要忘进行全面测试来验证整个流程是否正常运作。可以先在本地运行程序模拟真实场景下的对话过程;确认无误后再考虑上线正式环境供更多人体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值