ホームページ >バックエンド開発 >PHPチュートリアル >WeChat で選択された記事を取得するための PHP WeChat 開発

WeChat で選択された記事を取得するための PHP WeChat 開発

*文
*文オリジナル
2017-12-29 18:38:521733ブラウズ

この記事では主に、WeChat で選択した記事の関連情報をクエリするための PHP WeChat 開発の簡単な実装について詳しく紹介します。興味のある方は参考にしてください。お役に立てれば幸いです。

比較的クリック数が多い、WeChat で選択した記事をいくつかチェックします。
apikey を申請することを忘れないでください (Baidu アカウントにログインすることで取得できます)。完了する 機能は次のとおりです:

1. ユーザーが「記事」に返信すると、公開アカウントが返されます。記事カテゴリの番号 (9、テクノロジーなど)。

2. ユーザーが wz9, 1, Tencent と応答すると、科学技術記事のキーワード「Tencent」を含む記事に戻り、最初のページ (wz9, 2, Tencent) を表示できます。ページに戻ると、各ページが返されます。記事の数はカスタマイズできます。ここでは 7 つの記事を戻します)。


詳細な手順:

1.「article」に返信し、すべての記事カテゴリの ID を返します。次のコードは、responseMsg メソッドの一部です

  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>";

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

elseif($which == "文章"){
    $ch = curl_init();
    $url = &#39;http://apis.baidu.com/showapi_open_bus/weixin/weixin_article_type&#39;;
    $header = array(&#39;apikey: 你自己的apikey&#39;);

    // 添加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[&#39;showapi_res_body&#39;][&#39;typeList&#39;] as $v){
     $article[] = $v[&#39;id&#39;] . "、" . $v[&#39;name&#39;];
    }
    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(&#39;,&#39;, $keyword);
    $art_id = str_replace(&#39;wz&#39;, &#39;&#39;, $art_id);

    $ch = curl_init();
    $url = &#39;http://apis.baidu.com/showapi_open_bus/weixin/weixin_article_list?typeId=&#39; . $art_id . &#39;&page=&#39; . $page_id . &#39;&key=&#39; . urlencode($keyname);
    $header = array(&#39;apikey: 你自己的apikey&#39;);

    // 添加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[&#39;showapi_res_body&#39;][&#39;pagebean&#39;][&#39;contentlist&#39;] as $k=>$v){
     if($k <= 6){
      $arts[] = $v;
     }else{
      break;
     }
    }

    $items = "";
    foreach($arts as $v){
     $items .= "<item>
    <Title><![CDATA[" . $v[&#39;title&#39;] . "]]></Title> 
    <Description><![CDATA[" . $v[&#39;title&#39;] . "]]></Description>
    <PicUrl><![CDATA[" . $v["contentImg"] . "]]></PicUrl>
    <Url><![CDATA[" . $v[&#39;url&#39;] . "]]></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 を入力することを忘れないでください。そうでない場合、インターフェースはリクエストの返信を拒否します。

関連する推奨事項:

WeChatパブリックアカウントの開発と構成における一般的なエラーメッセージの概要

WeChatパブリックアカウントにはユーザー管理機能が実装されています

WeChatパブリックへのTPアクセスの詳細な説明アカウント支払い

以上がWeChat で選択された記事を取得するための PHP WeChat 開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。