ホームページ >バックエンド開発 >PHPチュートリアル >WeChat パブリック プラットフォーム インテリジェント ロボット PHP 開発例_PHP チュートリアル
現在、WeChat パブリック プラットフォームを使用する販売者が増えています。WeChat パブリック プラットフォームは、Web サイトとのデータ ドッキングを実現できる多数の API インターフェイスを提供しており、ユーザーはコンテンツを入力して関連情報に自動的に返信します。 WeChat パブリック プラットフォームのインテリジェンス開発チュートリアル。
最近、WeChatパブリックプラットフォームの開発に取り組んでおり、一度に20以上の関数を作成しました。とても面白いです〜
。
今日は私の開発経験を共有させてください~
WeChat パブリック プラットフォームが提供するインターフェイスは非常にシンプルです。まずメッセージのやり取りのプロセスを見てみましょう。
より簡単に言うと、ユーザーは WeChat を使用してメッセージを送信します -> WeChat はデータを開発者に送信します -> 開発者はメッセージを処理して WeChat にデータを返します -> WeChat は返されたデータをユーザーに送信しますデータのやり取りは XML を通じて行われます。これは非常に簡単です。
WeChat インテリジェント チャットボットを開発するには、以下の例を書いてください:
1. WeChatパブリックプラットフォームアカウントを登録します
WeChatパブリックプラットフォーム:
※現在、1つのIDカードに登録できるアカウントは2つまでです。アカウント名はV認定に関係しますので、慎重に登録してください。
2. サーバー/仮想ホストを申請します
サーバー/仮想ホストを持たない子供用シューズでは、BAE と SAE を使用できますが、詳しくは紹介しません。
3. 開発者モードをオンにする
WeChat パブリック プラットフォームには 2 つのモードがあり、1 つは編集モード (愚者モード) で、シンプルですが機能が 1 つだけです。もう 1 つは開発者モードで、開発を通じて複雑な機能を実装できます。明らかに、2 つのモードは相互に排他的です。WeChat パブリック プラットフォームにログインし、[高度な機能] メニューから開発者モードをオンにします。
4. インターフェース構成情報を入力します
これは「高度な機能」メニューでも設定され、2 つのパラメータを設定する必要があります:
URL: 開発者アプリケーションのアクセス アドレス。現在はポート 80 のみをサポートしています。例として「http://www.yourdomain.com/weixin/index.php」を取り上げます。
トークン: 署名を生成したいものをすべて入力します。例として「ドメイン名」を取り上げます。
入力後、次のコードをindex.phpとして保存し、ディレクトリhttp://www.yourdomain.com/weixin/にアップロードし、最後に「送信」をクリックして検証を完了します。
コードをコピー | |||||||||
define("TOKEN", "あなたのドメイン名"); //TOKEN 値 $wechatObj = 新しいwechat(); $wechatObj->valid(); クラス微信{ パブリック関数 valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ エコー $echoStr; 終了します; } } プライベート関数 checkSignature() {
$signature = $_GET["署名"]; |
コードをコピー | |
12345678作成時間> コンテンツ> |
コードをコピー | |||||||||
12345678作成時間> コンテンツ> |
コードをコピー | |
$wechatObj = 新しいwechat(); $wechatObj->responseMsg(); クラス微信{ パブリック関数 responseMsg() { //---------- データを受信 ---------- // $postStr = $GLOBALS["HTTP_RAW_POST_DATA"] //POST データを取得します //SimpleXML を使用して POST からの XML データを解析します
$postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
$toUsername = $postObj->ToUserName //受信者のアカウントを取得します
//---------- 戻りデータ ---------- //
$textTpl = " ;
$contentStr = 'http://www.yourdomain.com' //メッセージのコンテンツを返します
$resultStr = sprintf($textTpl,$fromUsername,$toUsername, |
コードは次のとおりです | コードをコピー |
$wechatObj = 新しいwechat(); //---------- データを受信 ---------- // $postStr = $GLOBALS["HTTP_RAW_POST_DATA"] //POST データを取得します //SimpleXML を使用して POST からの XML データを解析します $fromUsername = $postObj->FromUserName //送信者アカウント (OpenID) を取得します
//返信メッセージテンプレート $msgType = "テキスト" //メッセージタイプ //メッセージテンプレートのフォーマット |
上記の 2 つのコードを統合すると完了です。5 秒以内に応答を受信しない場合は WeChat サーバーが切断されることを説明する必要があります。このインターフェイスを通じてタイムアウトが発生する可能性があり、SimSimi が BAE とブロックをブロックしました。 SAE. クローリングリクエストには、SimSimi 公式の有料 API を使用することをお勧めします。