PHP微信開發(fā)之查詢微信精選文章
來源:易賢網(wǎng) 閱讀:670 次 日期:2016-08-16 15:40:03
溫馨提示:易賢網(wǎng)小編為您整理了“PHP微信開發(fā)之查詢微信精選文章”,方便廣大網(wǎng)友查閱!

這篇文章主要為大家詳細(xì)介紹了PHP微信開發(fā)之簡單實(shí)現(xiàn)查詢微信精選文章的相關(guān)資料,感興趣的小伙伴們可以參考一下

查詢微信里的一些精選的,點(diǎn)擊量比較大的文章。 

別忘記申請(qǐng)apikey(登錄百度賬號(hào)即可獲取),要完成的功能是:

1、用戶回復(fù)"文章",公眾號(hào)要返回文章分類的編號(hào)(比如9、科技)。

2、用戶回復(fù)wz9,1,騰訊     則能返回科技類文章中,關(guān)鍵詞為“騰訊”的文章,并且顯示第一頁(wz9,2,騰訊則可以返回第二頁,每一頁返回的文章數(shù)量可以自定義,此處我放回7篇)。

詳細(xì)步驟:

1、回復(fù)“文章”,返回所有文章分類的id。下面的代碼是responseMsg方法里的一部分

if(!empty($postStr)){

 //解析post來的XML為一個(gè)對(duì)象$postObj

 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

 $fromUsername = $postObj->FromUserName; //請(qǐng)求消息的用戶

 $toUsername = $postObj->ToUserName; //"我"的公眾號(hào)id

 $keyword = trim($postObj->Content); //用戶發(fā)送的消息內(nèi)容

 $time = time(); //時(shí)間戳

 $msgtype = 'text'; //消息類型:文本

 $textTpl = "<xml>

    <ToUserName><![CDATA[%s]]></ToUserName>

    <FromUserName><![CDATA[%s]]></FromUserName>

    <CreateTime>%s</CreateTime>

    <MsgType><![CDATA[%s]]></MsgType>

    <Content><![CDATA[%s]]></Content>

    </xml>";

$which = mb_substr($keyword, 0, 2, 'UTF-8'); 

elseif($which == "文章"){

    $ch = curl_init();

    $url = 'http://apis.baidu.com/showapi_open_bus/weixin/weixin_article_type';

    $header = array('apikey: 你自己的apikey');

    // 添加apikey到header

    curl_setopt($ch, CURLOPT_HTTPHEADER , $header);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    // 執(zhí)行HTTP請(qǐng)求

    curl_setopt($ch , CURLOPT_URL , $url);

    $res = curl_exec($ch);

    $res = json_decode($res, true); //獲取文章分類name和id

    foreach($res['showapi_res_body']['typeList'] as $v){

     $article[] = $v['id'] . "、" . $v['name'];

    }

    sort($article, SORT_NUMERIC);

    foreach($article as $v){

     $contentStr .= $v . "\n";

    }

    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);

    echo $resultStr;

    exit();

   }

2、此時(shí)echo的$resultStr就是所有文章的分類了。用戶根據(jù)分類的id,可以選擇自己喜歡的分類查看文章,比如回復(fù)wz19,1,籃球可以查看分類為體育的關(guān)于籃球的文章。

具體的調(diào)用接口和實(shí)現(xiàn)功能的代碼如下:

elseif($which == "wz"){

    list($art_id, $page_id, $keyname) = split(',', $keyword);

    $art_id = str_replace('wz', '', $art_id);

    $ch = curl_init();

    $url = 'http://apis.baidu.com/showapi_open_bus/weixin/weixin_article_list?typeId=' . $art_id . '&page=' . $page_id . '&key=' . urlencode($keyname);

    $header = array('apikey: 你自己的apikey');

    // 添加apikey到header

    curl_setopt($ch, CURLOPT_HTTPHEADER , $header);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    // 執(zhí)行HTTP請(qǐng)求

    curl_setopt($ch , CURLOPT_URL , $url);

    $res = curl_exec($ch);

    $res = json_decode($res, true);

    foreach($res['showapi_res_body']['pagebean']['contentlist'] as $k=>$v){

     if($k <= 6){

      $arts[] = $v;

     }else{

      break;

     }

    }

    $items = "";

    foreach($arts as $v){

     $items .= "<item>

    <Title><![CDATA[" . $v['title'] . "]]></Title> 

    <Description><![CDATA[" . $v['title'] . "]]></Description>

    <PicUrl><![CDATA[" . $v["contentImg"] . "]]></PicUrl>

    <Url><![CDATA[" . $v['url'] . "]]></Url>

    </item>";

    }

    $textTpl = "<xml>

    <ToUserName><![CDATA[%s]]></ToUserName>

    <FromUserName><![CDATA[%s]]></FromUserName>

    <CreateTime>%s</CreateTime>

    <MsgType><![CDATA[news]]></MsgType>

    <ArticleCount>7</ArticleCount>

    <Articles>" . $items . "

    </Articles>

    </xml> ";

    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time);

    echo $resultStr;

    exit();

   }

別忘了$header = array('apikey: ');的時(shí)候填寫自己的apikey,否則接口會(huì)拒絕返回你的請(qǐng)求。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:PHP微信開發(fā)之查詢微信精選文章
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)