Heim  >  Artikel  >  WeChat-Applet  >  Beispielcode für die PHP-WeChat-Entwicklung zum Abfragen von WeChat

Beispielcode für die PHP-WeChat-Entwicklung zum Abfragen von WeChat

高洛峰
高洛峰Original
2017-03-10 14:32:191562Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zum Abfragen von WeChat in der PHP-WeChat-Entwicklung ausführlich vorgestellt. Interessierte Freunde können auf

für einige ausgewählte Informationen zum Abfragen von WeChat verweisen. Klicken Sie auf Eine relativ große Anzahl von Artikeln .
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:

1 „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 den Artikeln 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. Wenn Sie ihn nicht verstehen oder neu in der WeChat-Entwicklung sind, können Sie meinen Artikel lesen: http://www.php.cn/

  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: '); Geben Sie Ihren eigenen Apikey ein, wenn , andernfalls weigert sich die Schnittstelle, Ihre Anfrage zurückzugeben.


Das obige ist der detaillierte Inhalt vonBeispielcode für die PHP-WeChat-Entwicklung zum Abfragen von WeChat. 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