需求背景:  最新需要调用微信公众号api 去微信公众号采集 发布文章数据。

本片文章的意义:根据自己开发的方案来提供思路,当然那不会提供代码。代码是最没有 含金量的东西。

1:遇到的坑:首先 想到的是调用 https://api.weixin.qq.com/cgi-bin/freepublish/batchget

   

但是这个接口有bug.因为我们公众号发布的文章 都是每天 群推给所有的粉丝,而这个接口是无法获取所有的群推文章数据

解决方案:调用草稿箱接口

所以就涉及到一个 解决思路 (我在生产中就是这样解决解决的):

1:在公众号中找到 草稿箱

2:选择已有图文,将今天公众号发布的文章保存在 草稿箱里面

 3:将已经发布的文章,保存为草稿箱时,标题 前缀 添加 “草稿箱”。目的就是达标,java代码 采集时 用于区分 使我们想要的数据,而不是  运维人员 写到一半的半成品文章

4:采集到文章后:需要解决的是 重复采集的问题,因为都是通过定时任务来采集的,需要来避免重复采集的问题。将采集到的字段

thumb_media_id;//图文消息的封面图片素材id(一定是永久MediaID) 和  title 来查询是否当前表是否采集过数据。采集过则不再采集。

5:将微信返回的文章 保存生成一个 html,将对应的html 名字存在  当前表里。展示文章时,则解析html即可  (最好解析html时,将微信中涉及到的图片,上传到阿里云上面,不要通过代理实现,不然有坑,微信会有防护访问限制访问。)

6:当前表新增一个字段,标记是否采集过,如果采集过,定时任务删除即可。

7:定时任务采集微信数据时,不要太频繁。如果是 5分钟一次,或者2分钟一次。会超过接口次数限制。本月就无法 采集了。需要删除这个调用次数。

只提供解决思路,不会提供代码。代码这种,大家一定有自己实现的逻辑。我的代码不一定是最优的

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐