Heim  >  Artikel  >  Backend-Entwicklung  >  PHP WeChat-Entwicklung, um ausgewählte WeChat-Artikel zu erhalten

PHP WeChat-Entwicklung, um ausgewählte WeChat-Artikel zu erhalten

*文
*文Original
2017-12-29 18:38:521654Durchsuche

In diesem Artikel wird hauptsächlich die einfache Implementierung der PHP-WeChat-Entwicklung zum Abfragen der relevanten Informationen ausgewählter WeChat-Artikel vorgestellt. Interessierte Freunde können darauf verweisen. Ich hoffe, es hilft allen.

Überprüfen Sie einige ausgewählte Artikel in WeChat mit relativ vielen Klicks.
Vergessen Sie nicht, sich für apikey zu bewerben (Sie können es erhalten, indem Sie sich bei Ihrem Baidu-Konto anmelden. Die Funktion lautet:

Der Benutzer antwortet auf). „Artikel“, und das offizielle Konto muss die Nummer der Artikelkategorie zurückgeben (z. B. 9. Technologie).

2. Wenn der Benutzer wz9, 1, Tencent antwortet, kann er zu den Artikeln mit dem Schlüsselwort „Tencent“ in den Technologieartikeln zurückkehren und die erste Seite anzeigen (wz9, 2, Tencent kann zu dem zurückkehren zweite Seite. Die Anzahl der auf jeder Seite zurückgegebenen Artikel kann angepasst werden. Hier gebe ich 7 Artikel zurück.

Detaillierte Schritte:

1. Auf „Artikel“ antworten und die IDs aller Artikelkategorien zurückgeben. Der folgende Code ist Teil der ResponseMsg-Methode

  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 = &#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. Zu diesem Zeitpunkt ist der $resultStr von echo die Klassifizierung aller Artikel. Benutzer können ihre Lieblingskategorie auswählen, um Artikel basierend auf der Kategorie-ID anzuzeigen. Wenn Sie beispielsweise auf wz19, 1, Basketball antworten, können Sie Artikel über Basketball anzeigen, die als Sport klassifiziert sind.
Der spezifische Code zum Aufrufen der Schnittstelle und zum Implementieren der Funktion lautet wie folgt:

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();
   }

Nicht vergessen $header = array('apikey: '); Bitte geben Sie zu diesem Zeitpunkt Ihren eigenen API-Schlüssel ein, andernfalls weigert sich die Schnittstelle, Ihre Anfrage zurückzusenden.

Verwandte Empfehlungen:

Eine Zusammenfassung häufiger Fehlermeldungen bei der Entwicklung und Konfiguration öffentlicher WeChat-Konten

Das öffentliche WeChat-Konto implementiert die Benutzerverwaltungsfunktion

Detaillierte Erläuterung des TP-Zugriffs auf die Zahlung über das öffentliche WeChat-Konto

Das obige ist der detaillierte Inhalt vonPHP WeChat-Entwicklung, um ausgewählte WeChat-Artikel zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn