所属分类:php教程
接口名称为:获取永久素材,其实就是新增素材文章时,点击发布后保存的文章素材信息,如下图:
php入门到就业线上直播课:进入学习
API 文档、设计、调试、自动化测试一体化协作工具:点击使用
只有点击了发布按钮保存到发表记录--发布中的文章素材,才可以被采集,如下图:
下面小编做详细说明
接口:
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之间
以上就是小编总结的获取微信公众平台已发布文章素材信息的方法,如有不足之处敬请谅解,希望能对各位大神有所帮助。
以上就是实现微信发布文章信息采集的详细内容,更多请关注zzsucai.com其它相关文章!