この記事の例では、WeChat パブリック プラットフォームでフォローおよびフォロー解除イベントを開発する方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
ユーザーが公開アカウントをフォローまたはフォロー解除すると、WeChat はこのイベントを開発者が入力した URL にプッシュし、開発者がユーザーにウェルカム メッセージを送信したり、アカウントのバインドを解除したりできるようにします。
$wechatObj = new wechatCallbackapiTest();//wechatCallbackapiTest クラスをインスタンス化します
if(!isset($_GET["echostr"])){
$wechatObj->responseMsg();
}その他{
$wechatObj->有効();
}
クラス wechatCallbackapiTest
{
パブリック関数 valid()
{
$echoStr = $_GET["echostr"];
if($this->checkSignature()){
エコー $echoStr;
出る
}
}
パブリック関数responseMsg()//受信側メソッドを実行する
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
If (!emptyempty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$RX_TYPE = トリム($postObj->MsgType);
スイッチ($RX_TYPE){
ケース「イベント」:
$result = $this->receiveEvent($postObj);
パンク;
}
$結果をエコーする
}その他{
エコー「」
;
出る
}
}
プライベート関数receiveEvent($object){
$content = ""
スイッチ ($postObj->イベント){
「購読」の場合:
$content = "ブログのフォローへようこそ" //これはフォロワーに送信されるプロンプトメッセージです
;
休憩
「購読解除」の場合:
$content = ""
休憩
}
$result = $this->transmitText($object,$content);
$result を返す
}
プライベート関数transmitText($object,$content){
$textTpl = "
";
$result = sprintf($textTpl, $object->FromUserName, $object->$ToUserName, time(), $content);
$result を返す
}
プライベート関数 checkSignature()
{
$signature = $_GET["署名"]
$タイムスタンプ = $_GET["タイムスタンプ"]
$nonce = $_GET["nonce"]
$トークン = トークン
;
$tmpArr = 配列($token, $timestamp, $nonce);
ソート($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
true を返します。
}その他{
false を返します。
}
}
}
コード関連パラメータの説明:
パラメータ |
説明 |
ユーザー名へ |
開発者のWeChat ID |
ユーザー名から |
送信者アカウント (OpenID) |
時間を作成する |
メッセージ作成時間(整数) |
メッセージタイプ |
メッセージタイプ、イベント |
イベント |
イベントタイプ、サブスクライブ(購読)、アンサブスクライブ(サブスクリプションのキャンセル) |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/932071.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/932071.html技術記事 WeChat パブリック プラットフォームでフォローおよびフォロー解除イベントを開発する方法 この記事では、WeChat パブリック プラットフォームでフォローおよびフォロー解除イベントを開発する方法について説明します。みんなのためにみんなでシェアしましょう...