思路
1.根据公众号的appid和secret获取到access_token;
2.根据access_token以及相关参数获取素材管理列表数据
直接上传代码,有注释,很简单。
<?php /* * 获取access_token *grant_type 获取access_token填写client_credential *appid 第三方用户唯一凭证 *secret 第三方用户唯一凭证密钥,即appsecret **/ $appid="**"; $secret="**"; $access_token=get_access_token($appid,$secret); //print "<div>调试凭证".$access_token."</div><br />"; $returnData=get_article_list("news","0","1",$access_token); print "<div>返回的数据".$returnData."</div><br />"; function get_access_token($appid,$secret) { $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret.""; $response = file_get_contents($url); //返回数据格式:{"access_token":"ACCESS_TOKEN","expires_in":7200} //expires_in:凭证有效时间 $res = json_decode($response, true); return $res['access_token']; }; /* *获取文章列表 *type 素材的类型:图片(image)、视频(video)、语音 (voice)、图文(news) *offset 从全部素材的该偏移位置开始返回,0表示从第一个素材 返回 *count 返回素材的数量,取值在1到20之间 */ function get_article_list($type, $offset, $count, $access_token) { //https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN $url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=".$access_token; $data = '{"type":"'.$type.'","offset":"'.$offset.'","count":"'.$count.'"}'; //返回的数据 $response =get_response_post($url, $data); return $response; }; function get_response_post($url, $data) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0);//过滤头部 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl,CURLOPT_POST,true); // post传输数据 curl_setopt($curl,CURLOPT_POSTFIELDS,$data);// post传输数据 $responseText = curl_exec($curl); curl_close($curl); return $responseText; }; ?>