91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

發布時間:2021-08-31 14:00:40 來源:億速云 閱讀:116 作者:小新 欄目:開發技術

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

查詢微信里的一些精選的,點擊量比較大的文章。 
別忘記申請apikey(登錄百度賬號即可獲取),要完成的功能是:

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

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

詳細步驟:

1、回復“文章”,返回所有文章分類的id。下面的代碼是responseMsg方法里的一部分,覺得看得不明白的或者第一次接觸微信開發的,可以參考我的文章: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); //用戶發送的消息內容
   $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);
    // 執行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就是所有文章的分類了。用戶根據分類的id,可以選擇自己喜歡的分類查看文章,比如回復wz19,1,籃球可以查看分類為體育的關于籃球的文章。
 具體的調用接口和實現功能的代碼如下:

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);
    // 執行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微信開發之查詢微信精選文章的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

离岛区| 唐海县| 铜陵市| 个旧市| 高清| 邻水| 芜湖市| 元阳县| 阳西县| 鞍山市| 凯里市| 阜城县| 安岳县| 青海省| 青阳县| 镇远县| 清水县| 关岭| 正定县| 临沭县| 永登县| 恩平市| 神木县| 吉隆县| 大姚县| 稻城县| 资兴市| 永安市| 孝义市| 伊宁市| 普宁市| 杭锦后旗| 沿河| 郴州市| 额济纳旗| 酉阳| 灌阳县| 乌兰浩特市| 平安县| 泰安市| 英德市|