So implementieren Sie eine einfache WeChat-Textkommunikation in PHP

PHPz
Freigeben: 2023-04-18 13:54:19
Original
549 Leute haben es durchsucht

Mit der Popularität von WeChat müssen immer mehr Anwendungen die offene Schnittstelle von WeChat nutzen, um Geschäftslogik zu entwickeln. In diesem Artikel wird erläutert, wie Sie mit PHP eine einfache WeChat-Textkommunikationsfunktion implementieren.

1. Vorbereitung

  1. Registrieren Sie ein Entwicklerkonto und erstellen Sie eine Anwendung

Bevor Sie die Entwicklungsseite der öffentlichen WeChat-Plattform aufrufen, benötigen Sie ein WeChat-Konto und ein zertifiziertes offizielles Konto. Nachdem Sie ein öffentliches Konto erstellt haben, müssen Sie zur Seite „Entwicklung – Grundkonfiguration“ gehen, um die AppID und das AppSecret des öffentlichen Kontos abzurufen, und gleichzeitig die Entwicklermodus-URL und das Token in „Serverkonfiguration“ festlegen.

  1. Installieren Sie die erforderlichen PHP-Bibliotheken.

Die Verwendung von PHP zur Implementierung der WeChat-Kommunikation erfordert die Installation der Curl-Erweiterungsbibliothek und der Simplexml-Erweiterungsbibliothek von PHP. Verwenden Sie unter Linux-Systemen zur Installation den Befehl sudo apt-get install php-curl php-simplexml.

  1. Erstellen Sie eine Entwicklungsumgebung

Verwenden Sie einen beliebigen Code-Editor, um eine Entwicklungsumgebung zu erstellen. Es wird empfohlen, PHPStorm oder Sublime Text zu verwenden. Die im Code verwendeten URLs und Token müssen der Konfiguration des offiziellen WeChat-Kontos entsprechen.

2. Erhalten Sie von WeChat-Benutzern gesendete Textnachrichten. Die URL und das Token müssen in der „Serverkonfiguration“ des offiziellen WeChat-Kontos konfiguriert werden. Die URL verweist auf das von uns geschriebene PHP-Nachrichtenverarbeitungsprogramm, und das Token dient der Authentifizierung entsprechend der URL.

Der Annahme- und Verarbeitungsprozess von Textnachrichten ist wie folgt:

Überprüfen Sie, ob die Nachricht tatsächlich vom WeChat-Server stammt
  1. Wenn der Benutzer eine Nachricht an das offizielle Konto sendet, sendet der WeChat-Server die Nachricht an den URL, die Sie im Voraus eingegeben haben. Wenn in der „Serverkonfiguration“ die Option „Nachrichten empfangen und XML vor Nachrichtenverschlüsselung drucken“ aktiviert ist, wird die XML-Datei sofort auf der Seite ausgedruckt. Der folgende Code ist die Funktion, mit der überprüft wird, ob die Nachricht vom WeChat-Server stammt.
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
$wechatObj->responseMsg();
} else {
$wechatObj->valid();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if ($this->checkSignature()) {
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
}
Nach dem Login kopieren

Die Logik des obigen Codes ist sehr einfach. Wenn wir auf diesen PHP-Handler zugreifen und mit dem Parameter echostr auf die URL zugreifen, wird die Funktion valid() ausgeführt. In dieser Funktion wird beurteilt, ob der Wert der Signatur zulässig ist. Wenn er zulässig ist, wird der Wert von echostr zurückgegeben. Wenn die aufgerufene URL keinen echostr-Parameter hat, wird die Funktion „responsMsg()“ direkt ausgeführt.

Auf eine Textnachricht antworten
  1. Um auf eine Textnachricht zu antworten, müssen die URL und das Token in der „Serverkonfiguration“ des offiziellen WeChat-Kontos konfiguriert werden. Die URL verweist auf den von uns geschriebenen PHP-Handler, und das Token dient der Authentifizierung entsprechend der URL.
private function receiveText($postObj)
{
$content = "欢迎您关注XX公司官方微信公众号,我们会竭诚为您服务!";
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $content);
echo $resultStr;
}
Nach dem Login kopieren

Die Funktion „receiveText“ im obigen Code kann von Benutzern gesendete Textnachrichten empfangen und mit einem festen Begrüßungstext antworten. Sie können den Textinhalt der Antwort entsprechend Ihren Geschäftsanforderungen ändern.

3. Zusammenfassung

In diesem Artikel wird kurz vorgestellt, wie man mit PHP die WeChat-Textkommunikationsfunktion implementiert, also auf von Benutzern gesendete Textnachrichten antwortet. In tatsächlichen Anwendungen können Sie komplexere Geschäftslogik entwickeln und entsprechend den Geschäftsanforderungen anpassen. Eine vollständige Implementierung der Geschäftslogik für öffentliche WeChat-Konten umfasst Menüs, Antwortnachrichten und Ereignisse, was den umfassenden Einsatz von PHP, MySQL und anderen Technologien erfordert.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine einfache WeChat-Textkommunikation in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!