溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP微信開發(fā)之查詢微信精選文章的示例分析

發(fā)布時間:2021-08-31 14:00:40 來源:億速云 閱讀:114 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“PHP微信開發(fā)之查詢微信精選文章的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PHP微信開發(fā)之查詢微信精選文章的示例分析”這篇文章吧。

查詢微信里的一些精選的,點擊量比較大的文章。 
別忘記申請apikey(登錄百度賬號即可獲?。瓿傻?strong>功能是:

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

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

詳細步驟:

1、回復(fù)“文章”,返回所有文章分類的id。下面的代碼是responseMsg方法里的一部分,覺得看得不明白的或者第一次接觸微信開發(fā)的,可以參考我的文章:https://www.jb51.net/article/87252.htm 

  if(!empty($postStr)){
    
   //解析post來的XML為一個對象$postObj
   $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
  
   $fromUsername = $postObj->FromUserName; //請求消息的用戶
   $toUsername = $postObj->ToUserName; //"我"的公眾號id
   $keyword = trim($postObj->Content); //用戶發(fā)送的消息內(nèi)容
   $time = time(); //時間戳
   $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請求
    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、此時echo的$resultStr就是所有文章的分類了。用戶根據(jù)分類的id,可以選擇自己喜歡的分類查看文章,比如回復(fù)wz19,1,籃球可以查看分類為體育的關(guān)于籃球的文章。
 具體的調(diào)用接口和實現(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請求
    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: ');的時候填寫自己的apikey,否則接口會拒絕返回你的請求。

以上是“PHP微信開發(fā)之查詢微信精選文章的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI