微信公众号信息推送——详细版

1.功能介绍 

        基本天气推送——实时定位、信息推送、天气状况

        ChatGpt聊天——OpenAi接口

2.前置工作

2.1微信公众号测试平台

        打开公众号网址:微信公众平台https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login        微信扫码登录即可界面如下:

         注意:第一次扫码登录后  应该只有红框部分是存在账号信息的

2.2百度地图Api

        打开网址:

百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com)https://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5        打开之后登录个人的百度账号,并点击控制台:

        在应用管理模块,点击我的应用,并创建应用获得调用Api所需的AK:

        点击创建应用后如下所示:

         创建完成后有用部分如下所示:

2.3天行(英文/古诗)Api

        打开网址:

天行数据TianAPI - 开发者API数据平台https://www.tianapi.com/        注册登录点到首页界面,在搜索框搜索每日英语或你想要的免费接口,如图:

         并且点击进入,如图:

         申请完成后,点击右上角控制台进入查看我的密钥KEY,如图:

2.4OpenAPI

        注:此网站需科学上网,且使用此接口需要花Money,也可使用限时免费的5美刀但用完仍需花钱,若不想可以不添加ChatGpt聊天功能,无伤大雅!

        打开网站:OpenAI Platformhttps://platform.openai.com/account/api-keys

        若没有账号,先注册再登录(注册使用谷歌账号)

        若之前注册过ChatGpt,使用之前注册的账号

        个人建议:如果你之前不了解ChatGpt,你也没注册过使用过它,我建议你就不要添加这个功能了,你在此处第一次注册再去使用的话,其实等于你就是先注册了ChatGpt再去用,因为注册ChatGpt虽然不是很难,但也是需要有点小操作的,我的建议是没必要!  

        登录之后点击个人管理账户查看的界面如图:

        注意:这里的API KEYS创建好以后一定要妥善保存,创建以后,第二次就无法再查看了,想要再看,只能删除了API KEYS然后重新创建。

2.5代码下载

        代码我已上传到Github,网址如下:

dj1367250510/Wx_Push: 微信公众号推送智能版(取悦女朋友)附加Chatgpt聊天机器人 (github.com)https://github.com/dj1367250510/Wx_Push

3.代码配置

3.1选择模板与人员

注意:第一张图给大家展示,定义的各种模板类型,第二章图需要在代码中修改对应id。

这里面的模板id就是我们将要在微信测试公众平台上创建的模板对应的模板id。

进入微信测试公众平台,往下拉,找到模板消息接口配置的地方。

创建好模板后,把模板ID复制粘贴到WxTemplateConstants类的相应位置即可。

3.2更新各种配置信息

3.3本地部署

没有服务器的,可以使用内网穿透工具,将本机服务启动端口映射到一个公网域名上。
这里推荐一种内网穿透工具Cpolar,点击链接下载对应版本并安装即可。

下载完以后,我们可以打开本地的Cpolar的端口http://localhost:9200/随便注册以下进入下面界面。

点击左侧创建隧道,然后选择号以后点击创建,然后就建立了一个公网域名到你本地启动项目端口的一个映射。

然后点击左侧在线隧道列表就可以看到映射的公网地址,http和https协议任选其一复制粘贴。
然后启动我们的SpringBoot项目。

然后将刚才的公网地址粘贴到下方图片红框位置,输入项目中定义好的对应的Token,点击提交。


然后会在上方弹出一个配置成功的绿色的框。
接下来,在微信公众平台页面向下拉,找到获取用户地理位置的API,然后需要打开。这个意思是申请访问订阅者的地理位置,以便于实时根据订阅者地理位置推送天气。

这里需要让订阅者打开位置信息服务,微信打开关注好的接口测试号,进入设置,

然后将聊天中使用地理位置按钮点开即可。

注意:这里第一次设置完成后,退出关注的公众号的聊天对话框界面,然后再次进入,来记录当前的位置。(只有第一次打开位置信息需要这样,以后每次收到信息之后,会自动更新一次实时位置)

3.4服务器部署

[1]把整个项目打包成jar包

使用intellij idea工具打包可直接执行的jar包,自行百度easy do。

[2]运行jar包在后台,启动项目

nohup java -jar wx-pusher.jar >log.out 2>&1 &

注意:启动以后参考3.3配置,对接口配置信息进行配置。
不同的点在于配置公网IP地址的地方可以配置自己服务器的地址,使用IP+端口的方式(有域名的使用域名+端口也可)

4.结果展示

4.1基础功能

4.2OpenAi 加入机器人对话功能

### 使用Python进行微信公众号模板消息推送 为了通过Python实现向微信公众号发送模板消息的功能,需遵循一系列特定步骤并配置相应环境。以下是详细的说明: #### 准备工作 确保安装必要的库文件以支持开发过程中的网络请求处理以及可能的数据缓存操作。推荐使用的依赖包如下所示[^3]: ```bash Django==3.1.3 django-redis==4.12.1 redis==3.5.3 requests==2.24.0 ``` 这些工具可以帮助简化HTTP通信流程,并提供高效的内存存储解决方案。 #### 获取Access Token 在正式发起任何API调用前,必须先获得`access_token`——这是访问微信公众平台接口所必需的身份验证令牌。获取方式通常涉及POST请求至官方提供的认证端点,携带应用ID(`appid`)和密钥(`appsecret`)作为参数。成功响应后会返回包含有效期限在内的token字符串[^4]。 #### 构建消息体 准备要发送的消息内容时需要注意区分不同类型的模板消息(如一次性订阅消息或长期订阅消息),因为这会影响到具体字段的设计与填充逻辑。一般情况下,消息结构应至少包括收件方OpenID、模板ID及相关数据项等要素。 #### 发送请求 最后一步就是利用已取得的`access_token`拼接完整的URL路径并向其提交精心构造好的JSON负载。此过程中可以借助于`requests.post()`方法轻松完成整个交互动作。下面给出了一段简单的代码片段用于示范这一过程: ```python import requests import json def send_template_message(access_token, template_id, open_id, data): url = f"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={access_token}" payload = { "touser": open_id, "template_id": template_id, "data": data } headers = {'Content-Type': 'application/json'} response = requests.post(url=url, headers=headers, data=json.dumps(payload)) return response.json() ``` 上述函数接受四个参数:分别是前面提到过的`access_token`、目标用户的唯一标识符`open_id`、选定的具体模板编号`template_id`还有实际待传递的信息主体部分`data`。执行完毕之后将会得到来自服务器端对于此次尝试的结果反馈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值