最近有一个客户在微信开发中,需要实现这样一个功能:之前他们在微信公众平台发布文章信息后,还需要在官网再发布一次,这样等于是同样的工作做了两遍,他们想实现在微信公众平台发布文章后,能够自动发布到官网上。

海创通过研究,发现微信公众平台官网提供了相关的信息采集接口,原文地址如下:

接口名称为:获取永久素材,其实就是新增素材文章时,点击发布后保存的文章素材信息,如下图:

只有点击了发布按钮保存到发表记录--发布中的文章素材,才可以被采集,如下图:

下面做详细说明:

接口http请求方式:

POST https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN

1 获取ACCESS_TOKEN

publicfunctiongetAccessToken(){$info=Db::name('access_token')-order('inputtimedesc')-find();if($info){$time=time();$long_time=$time-$info['updatetime'];if($long_time=$info['expires_in']){$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=".$this-appid."secret=".$this-secret;$res=$this-getJson($url);if(in_array('access_token',$this-DbSy-GetArrElement($res))){$insert['access_token']=$res['access_token'];$insert['expires_in']=$res['expires_in'];$insert['updatetime']=time();$up_info=Db::name('access_token')-where('id',$info['id'])-update($insert);if(!$up_info){returnjson(['code'=103,'msg'='AccessToken更新失败']);}$AccessToken=$res['access_token'];}else{returnjson(['code'=100,'msg'='AccessToken获取失败']);}}else{$AccessToken=$info['access_token'];}}else{$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=".$this-appid."secret=".$this-secret;$res=$this-getJson($url);if(in_array('access_token',$this-DbSy-GetArrElement($res))){$insert['access_token']=$res['access_token'];$insert['expires_in']=$res['expires_in'];$insert['updatetime']=time();$insert['inputtime']=time();$up_info=Db::name('access_token')-where('id',$info['id'])-insertGetId($insert);if($up_info){$AccessToken=$res['access_token'];}else{returnjson(['code'=101,'msg'='AccessToken插入失败']);}}else{returnjson(['code'=100,'msg'='AccessToken获取失败']);}}return$AccessToken;}

注意:

在制作之前需要在数据库添加数据表:access_token,用来存储获取到的access_token值,因为每次获取到的access_token值的有效时长是7200s,这样避免重复获取access_token值。

2 获取素材列表

获取到access_token值后,就可以通过access_token值获取素材列表:

publicfunctiongetArticleList($offset,$type='news',$length=20){$data=array('type'=$type,'offset'=$offset,'count'=$length);$json_data=json_encode($data);$AccessToken=$this-getAccessToken();$url="https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=".$AccessToken;$res=$this-getJsonData($url,$json_data);return$res;//dump($res);}

其中:

(1)type,为素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)

(2)offset,从全部素材的该偏移位置开始返回,0表示从第一个素材返回

(3)count,返回素材的数量,取值在1到20之间

以上就是实现微信发布文章信息采集的详细内容,有同类需求的客户还有咨询我们,选择我们你将享受以下5重保障:

1、N对一服务:全程提供高品质优质服务(设计、开发、售后);

2、专人对接:专职项目经理确保项目开发质量和进度,为客户产品需求、产品开发保驾企服快车;

3、软著申请:我们提供软著代申请服务,为客户提供有软著证书的优质产品;

4、交付能力:

100%如期交付,提供源码,保证客户产品版权、利益;

5、全国售后:支持7*24小时服务,提供全天候的售后技术支持服务。

ycz cologne nearby