Heim >Backend-Entwicklung >PHP-Problem >PHP-Code für die Erstellung eines öffentlichen WeChat-Kontos

PHP-Code für die Erstellung eines öffentlichen WeChat-Kontos

PHPz
PHPzOriginal
2023-03-29 10:13:38931Durchsuche

Mit dem Aufkommen des Internetzeitalters sind nach und nach verschiedene neue soziale Medien entstanden. Als aufstrebendes soziales Medium ist der offizielle WeChat-Account für viele Menschen zu einem Muss für die täglichen sozialen Interaktionen geworden. Wenn Sie als Entwickler selbst ein öffentliches WeChat-Konto erstellen möchten, müssen Sie bestimmte Fähigkeiten beherrschen. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP-Code ein öffentliches WeChat-Konto erstellen.

1. Registrieren Sie ein öffentliches WeChat-Plattformkonto

Um ein öffentliches WeChat-Konto einzurichten, müssen Sie zunächst ein Konto auf der öffentlichen WeChat-Plattform registrieren. Der Registrierungsprozess ist nicht kompliziert. Sie müssen lediglich relevante Informationen wie den offiziellen Kontonamen, den Typ, die Zertifizierungsart usw. eingeben. Beachten Sie, dass Sie, wenn für Ihr offizielles Konto eine Zertifizierung erforderlich ist, auch relevante Materialien zur Zertifizierung einreichen müssen.

2. AppID und Appsecret erhalten

Nach der Registrierung des offiziellen WeChat-Kontos müssen wir AppID und Appsecret erhalten. Diese beiden Parameter sind wichtige Parameter für die Verbindung Ihres eigenen Servers und der öffentlichen WeChat-Plattform. Melden Sie sich bei der öffentlichen WeChat-Plattform an, suchen Sie im Developer Center nach der „Entwickler-ID“ und klicken Sie zur Eingabe, um die App-ID und das App-Geheimnis zu erhalten.

3. Erstellen Sie eine Serverumgebung

Nachdem wir die AppID und das Appsecret erhalten haben, müssen wir einen Server erstellen, um unsere Anwendung und die öffentliche WeChat-Plattform zu verbinden. Wenn Sie keinen eigenen Server haben, können Sie Ihre Anwendung auf einem Cloud-Server wie Alibaba Cloud, Tencent Cloud usw. bereitstellen.

4. PHP-Code schreiben

Nachdem die Serverumgebung eingerichtet ist, müssen wir PHP-Code schreiben, um mit der öffentlichen WeChat-Plattform zu kommunizieren. Die spezifischen Schritte sind wie folgt:

  1. Zuerst müssen wir eine PHP-Datei erstellen, z. B. index.php. Diese Datei kann auf Ihrem Server abgelegt oder per FTP auf Ihren Cloud-Server hochgeladen werden.
  2. In der PHP-Datei müssen wir den URL-Link angeben, wenn wir auf die öffentliche WeChat-Plattform zugreifen. Der URL-Link hier enthält den Token-Wert und den Echostr-Wert, die uns von der öffentlichen WeChat-Plattform übergeben wurden.
  3. Wir müssen eine getToken()-Funktion definieren, um die Anforderungsparameter abzurufen. Sortieren und verketten Sie die erhaltenen Parameter, um eine Zeichenfolge zu bilden.
  4. Benutzerdefinierte Überprüfungsfunktion, mit der überprüft wird, ob die von der öffentlichen WeChat-Plattform gesendete Anfrage legal ist.
  5. Definieren Sie die Nachrichtenantwortfunktion, damit Benutzer mit offiziellen Konten interagieren können.

Der spezifische Code lautet wie folgt:

<?php

//获取微信公众平台的请求参数
function getToken() {
  $token = "yourtoken"; //此处输入你的token值
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];
  $signature = $_GET["signature"];
  $echostr = $_GET["echostr"];
  
  $arr = array($timestamp, $nonce, $token);
  sort($arr, SORT_STRING);
  $str = implode($arr);
  $str = sha1($str);
  
  if($str == $signature) {
    echo $echostr;
  }
}

//验证请求是否合法
function checkSignature() {
  $token = "yourtoken";
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];

  $arr = array($token, $timestamp, $nonce);
  sort($arr);
  $str = sha1(implode($arr));

  if ($str == $signature) {
    return true;
  } else {
    return false;
  }
}

//消息回复函数
function responseMsg() {
  //获取微信公众平台POST过来的数据
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
  
  if (!empty($postStr)) {
    //解析POST过来的XML数据包
    $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $keyword = trim($postObj->Content);
    $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>";       
     
    if(!empty($keyword)) {
      $contentStr = "Welcome ".$fromUsername." to our site!";
      $msgType = "text";
      $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
      echo $resultStr;
    } else {
      echo "Input something...";
    }
  
  } else {
    echo "";
    exit;
  }
}

//主函数
if (checkSignature()) {
  if (isset($_GET['echostr'])) {
    getToken();
    exit;
  } else {
    responseMsg();
  }
} else {
  echo "";
  exit;
}

?>

5. Stellen Sie den Code auf dem Server und der öffentlichen WeChat-Plattform bereit.

Laden Sie den geschriebenen Code auf Ihren eigenen Server hoch und konfigurieren Sie ihn auf der öffentlichen WeChat-Plattform.

6. Zusammenfassung

In der Einleitung dieses Artikels können wir lernen, wie man eine öffentliche WeChat-Kontoanwendung mit PHP-Code erstellt. Im eigentlichen Betriebsprozess müssen Sie auch auf einige Details achten, z. B. das Testen der Anwendung, das rechtzeitige Aktualisieren der Anwendung usw. Wenn Sie diese Fähigkeiten beherrschen, können Sie meiner Meinung nach auch ein ausgezeichneter offizieller WeChat-Kontoentwickler werden!

Das obige ist der detaillierte Inhalt vonPHP-Code für die Erstellung eines öffentlichen WeChat-Kontos. 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