インターネットの継続的な発展に伴い、WeChat は人々の生活に欠かせないツールの 1 つになりました。多くの Web サイトやアプリケーションはユーザーの WeChat にリアルタイムで情報をプッシュする必要があり、人気のあるサーバーサイド プログラミング言語としての PHP は、WeChat 公開アカウントを通じてユーザーに情報をプッシュする機能を実現できます。そこで今回は、PHPを使ってWeChatに情報をプッシュする方法を紹介します。
まず、WeChat 公式アカウントの開発者アカウント、パスワード、AppID、AppSecret などの情報を取得する必要があります。次に、WeChat パブリック プラットフォームで開発者モードを設定し、サーバー構成、トークン、その他のパラメーターを取得します。
次に、PHP コードの記述を開始できます。まず、メッセージを受信して返信できる WeChat パブリック アカウント Web サービスを作成する必要があります。 Laravel や Yii などの PHP フレームワークを使用して構築できます。フレームワークの使用経験がない場合は、PHP のcurl ライブラリを直接使用して開発することもできます。
PHP コードでは、WeChat サーバーから検証と情報プッシュを受信できるように、WeChat 公式アカウントのインターフェイス アドレスとトークンを設定する必要があります。ユーザーから情報を受信して処理するための統合コールバック関数を設定できます。たとえば、次のコード スニペット:
$wechatObj = new wechatCallbackapi(); if (!isset($_GET['echostr'])) { $wechatObj->responseMsg(); } else { $wechatObj->valid(); } class wechatCallbackapi { 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 = 'your_token'; $tmpArr = [$token, $timestamp, $nonce]; sort($tmpArr, SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if ($tmpStr == $signature) { return true; } else { return false; } } public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); switch ($postObj->MsgType) { case 'text': $content = "收到您的信息,谢谢!"; $resultStr = $this->textMsg($postObj, $content); echo $resultStr; break; default: echo ""; break; } } public function textMsg($object, $content) { $time = time(); $textTpl = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>'; $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, $time, $content); return $resultStr; } }
上記のコードでは、checkSignature() はインターフェイスの検証に使用され、responseMsg() はユーザーから送信された情報に応答するために使用され、textMsg() はユーザーの情報に返信するために使用されます。この例では、単純なメッセージに返信しているだけですが、実際には、必要に応じてこれを拡張して、データベースを使用してメッセージを保存し、ユーザーに返すことができます。
最後に、情報をプッシュするには、WeChat パブリック アカウント オープン プラットフォームによって提供される API インターフェイスを使用する必要があります。テキスト情報のプッシュを例にとると、PHP コードでは次のようにデータ配列を構築し、curl を使用して POST リクエストを WeChat サーバーに送信するだけです。簡単な例として、WeChat パブリック プラットフォームは豊富な API インターフェイスを提供しており、PHP を使用して開発してより複雑な機能を実装できます。
要約すると、PHP は WeChat パブリック アカウントに情報をプッシュする機能を実装できます。WeChat パブリック プラットフォーム上で開発者アカウントと対応するインターフェイス パラメーターを設定し、PHP を使用して返信や応答を実装するコードを記述する必要があります。情報をプッシュし、WeChat パブリック プラットフォームが提供する API インターフェイスを使用して情報をプッシュします。 WeChat 公式アカウントの開発についてさらに詳しく知りたい場合は、WeChat 公式ドキュメントの関連部分をさらに読んで、より多くの知識を習得し、開発レベルを向上させることができます。
以上がWeChatのプッシュ情報機能をPHPで実装する方法を説明する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。