介面名稱為:獲取永久素材,其實就是新增素材文章時,點選釋出後儲存的文章素材資訊,如下圖:
只有點選了釋出按鈕儲存到發表記錄--釋出中的文章素材,才可以被採集,如下圖:
下面小編做詳細說明
介面:
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之間
以上就是小編總結的獲取微信公眾平臺已釋出文章素材資訊的方法,如有不足之處敬請諒解,希望能對各位大神有所幫助。
以上就是實現微信釋出文章資訊採集的詳細內容,更多請關注TW511.COM其它相關文章!