ホームページ  >  記事  >  バックエンド開発  >  WeChat パブリック プラットフォーム、PHP 開発に関する簡単な質問

WeChat パブリック プラットフォーム、PHP 開発に関する簡単な質問

WBOY
WBOYオリジナル
2016-06-23 13:48:25770ブラウズ

WeChatパブリックプラットフォームのテストアカウントを登録し、URLとトークンを設定しました
URL:***.***.com/weixin/weinxin.php
token:weixin
このURLは本物であり、アクセスできます外部ネットワークからは、Tencent が公式に提供する weixin.php を使用します

<?php/**  * wechat php test  *///define your tokendefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();class wechatCallbackapiTest{	public function valid()    {        $echoStr = $_GET["echostr"];        //valid signature , option        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;		}	}}?>

私は自分の WeChat ID を使用してこのテスト WeChat ID をフォローします。その後、自分の WeChat ID を使用してこのテスト アカウントにメッセージを送信します。テストアカウントから返信がありません。論理的に言えば、同じメッセージが返信されるはずです。誰かがこれをしたことがありますか?


ディスカッションに返信します

返信したい場合は、$wechatObj->valid(); をコメントアウトする必要があります。 $wechatObj ->responseMsg() に置き換えられました
この関数は WeChat の公式デモにあります

public function responseMsg()
{
//投稿データを取得します。環境が異なるためかもしれません
$postStr = $GLOBALS ["http_raw_post_data"; s]]>42a4b8d57eb0afadcf16b7a02c69caaf
246311df1688542638dc52b54a1a4c87%se660f1169ff44ea75c5a982fcb1cde61
42815c2206ae835d7fd68cb4ae21e4dfd3242fa0f72a59f12bbb2807edba61b7698463fc03844fbe5a9caafaa1ebd0b1 ![CDATA[%s]]>aa91fa7c40b1cd973268e154dae1a50e
c16e87311aa318186a2141a5b8ce55110fecc2d83bf66fbc799a88f710e0cd251"; " $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time 、$ msgtype、$ contentsstr);

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