Heim > Artikel > Backend-Entwicklung > PHP WeChat-Entwicklung, um ausgewählte WeChat-Artikel zu erhalten
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 = '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. 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(',', $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(); }
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:
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!