您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 雅安分类信息网,免费分类信息发布

实现微信发布文章信息采集

2024/6/8 18:03:48发布31次查看
最近有一个客户,需要实现这样一个功能,之前他们在微信公众平台发布文章信息后,还需要在官网再发布一次,这样等于是同样的工作做了两遍,他们想实现在微信公众平台发布文章后,能够同时发布到官网上,小编通过研究,发现微信公众平台官网提供了相关的信息采集接口,原文地址如下:https://developers.weixin.qq.com/doc/offiaccount/asset_management/get_materials_list.html
接口名称为:获取永久素材,其实就是新增素材文章时,点击发布后保存的文章素材信息,如下图:
只有点击了发布按钮保存到发表记录--发布中的文章素材,才可以被采集,如下图:
下面小编做详细说明
接口:
http请求方式: 
post https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=access_token
1 获取access_token
public function getaccesstoken(){ $info = db::name('access_token')->order('inputtime desc')->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_credential&appid=".$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){ return json(['code'=>103,'msg'=>'accesstoken更新失败']); } $accesstoken = $res['access_token']; }else{ return json(['code'=>100,'msg'=>'accesstoken获取失败']); } }else{ $accesstoken = $info['access_token']; } }else{ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$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{ return json(['code'=>101,'msg'=>'accesstoken插入失败']); } }else{ return json(['code'=>100,'msg'=>'accesstoken获取失败']); } } return $accesstoken;}
注意:
在制作之前需要在数据库添加数据表:access_token,用来存储获取到的access_token值,因为每次获取到的access_token值的有效时长是7200s,这样避免重复获取access_token值。
2 获取素材列表
获取到access_token值后,就可以通过access_token值获取素材列表:
public function getarticlelist($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之间
以上就是小编总结的获取微信公众平台已发布文章素材信息的方法,如有不足之处敬请谅解,希望能对各位大神有所帮助。
以上就是实现微信发布文章信息采集的详细内容。
雅安分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录