400-800-9385
网站建设资讯详细

如何快速的采集微信公众号已发布文章

发表日期:2022-12-28 11:12:25   作者来源:陈应信   浏览:2024   标签:微信公众号    
前段时间接到客户的要求,他希望在公众号里发布的文章,可以在网站上同步调用这些文章,这样就不用复杂发布了,能省不少时间,但他又希望文章是直接显示在网站页面里的,而不是跳转到微信公众号的页面,所以就需要做接口来采集所发布的文章。

因为是微信公众号的文章,肯定是有微信公众号账号的,所以打开“微信公众平台”的页面,让扫码登录公众号,需要先进行一些设置,才可以使用微信公众号开发者接口:
首先是设置开发者密码AppSecret和设置IP白名单,如下图所示:

微信公众号配置


需要特别说明一下,如果忘记或不知道AppSecret,只能重置,不可以查看,一旦重置,之前的AppSecret将失效,要注意这一点。然后是设置IP白名单,把调用接口的服务器IP填写上,可以填写多个,设置这两个参数是为了获取access_token,有了access_token才能调用微信开发者接口。
 
我们在微信公众平台的页面,可以找到“内容与互动”->“发表记录”,查看已经发表的记录,点击“发布”,可以看到已发布的文章,这里特别说明一下,根据微信官方的回复,目前是无法获取到群发的文章的,需要把群发的文章发布一下,文章在“发布”里,则可以获取这篇文章,如下图所示:
 
发表记录
 
使用接口获取发布的文章列表(其实也包括文章内容),如下图所示:

素材管理
 我们使用的是“发布能力”->“获取成功发布列表”的接口,这个接口就是用来获取已发布的文章列表,从上面的接口可以看到,是必须有access_token才可以成功调用这个接口的,
   下面介绍获取access_token方法,我使用的是thinkphp3代码,如下图所示:
gettoken
用$access_token = $this->getToken($appid,$appsecret);即可获取到access_token;
其中appid和appsecret对应的是微信公众号的开发者ID和开发者密码,因为这个接口每天调用次数是有限的,而且access_token的有效期是两小时,所以我们可以用S缓存来保存access_token,每一小时才调用access_token一次,其他情况直接使用已有的access_token就可以了。
   这样就可以使用cgi-bin/freepublish/batchget?access_token=ACCESS_TOKEN接口获取文章列表了,返回的内容如下图所示:
返回结果

其中”item”就是我们所需要的文章列表的内容,将json内容转成数组,然后插入到数据库表里就可以了,部分代码如下图所示:
item
其中request_post方法如下图所示:
request_post
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/6631.html