ホームページ  >  記事  >  バックエンド開発  >  シンプルな WeChat テキストコミュニケーションを PHP で実装する方法

シンプルな WeChat テキストコミュニケーションを PHP で実装する方法

PHPz
PHPzオリジナル
2023-04-18 10:19:06531ブラウズ

WeChat の人気に伴い、ビジネス ロジックを開発するために WeChat のオープン インターフェイスを使用する必要があるアプリケーションがますます増えています。この記事では、PHPを使ってWeChatの簡単なテキストコミュニケーション機能を実装する方法を紹介します。

1. 準備

  1. 開発者アカウントを登録し、アプリケーションを作成します

WeChat パブリック プラットフォーム開発ページに入る前に、WeChat を持っている必要がありますアカウントと認定されたパブリック アカウント。パブリックアカウントを作成したら、「開発 - 基本構成」ページに移動してパブリックアカウントのAppIDとAppSecretを取得し、同時に「サーバー構成」で開発者モードのURLとトークンを設定する必要があります。

  1. 必要な PHP ライブラリをインストールする

PHP を使用して WeChat 通信を実装するには、PHP のcurl 拡張ライブラリと simplexml 拡張ライブラリをインストールする必要があります。 Linux システムでは、コマンド sudo apt-get install php-curl php-simplexml を使用してインストールします。

  1. 開発環境の構築

開発環境を構築するには、任意のコード エディターを使用します。PHPStorm または Sublime Text の使用をお勧めします。コードで使用される URL とトークンは、WeChat 公式アカウントの構成に対応している必要があります。

2. WeChat ユーザーから送信されたテキスト メッセージを取得する

URL とトークンは、WeChat 公式アカウントの「サーバー構成」で構成する必要があります。URL は、WeChat の公式アカウントの php メッセージ処理プログラムを指します。と書き、TokenはURLに対応した認証です。

テキスト メッセージの受け入れと処理のプロセスは次のとおりです。

  1. メッセージが実際に WeChat サーバーから送信されたものであることを確認します

ユーザーが送信したときWeChat の公式アカウントへのメッセージ サーバーは、事前に入力した URL にメッセージを送信します 「サーバー設定」で「メッセージを受信し、メッセージを暗号化する前に XML を印刷する」オプションがオンになっている場合、XML ファイルはすぐにページに印刷されます。次のコードは、メッセージが WeChat サーバーから送信されたものであるかどうかを確認するために使用される関数です。

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;
}
}
}

上記のコードのロジックは非常に単純で、このphpハンドラーにアクセスする際、echostrパラメータを指定してURLにアクセスすると、valid()関数が実行されます。この関数では、signature の値が正当かどうかを判定し、正当であれば echostr の値を返します。アクセスされた URL に echostr パラメータがない場合は、responseMsg() 関数が直接実行されます。

  1. テキスト メッセージに返信

テキスト メッセージに返信するには、WeChat 公式アカウントの「サーバー設定」で URL とトークンを設定する必要があります。URL は php を指します。ハンドラーを作成し、トークンは 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;
}

上記のコードのreceiveText関数は、ユーザーから送信されたテキストメッセージを受信し、固定のウェルカムテキストで返信できます。ビジネス ニーズに基づいて、返信のテキストの内容を変更できます。

3. 概要

この記事では、PHP を使用して WeChat のテキスト コミュニケーション機能、つまりユーザーが送信したテキスト メッセージに返信する方法を実装する方法を簡単に紹介します。実際のアプリケーションでは、ビジネス ニーズに応じて、より複雑なビジネス ロジックを開発およびカスタマイズできます。 WeChat パブリック アカウント ビジネス ロジックの完全な実装には、メニュー、応答メッセージ、イベントが含まれており、PHP、MySQL、その他のテクノロジを包括的に使用する必要があります。

以上がシンプルな WeChat テキストコミュニケーションを PHP で実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。