PHP を使用して WeChat 公開アカウントにアクセスするにはどうすればよいですか?
前提条件
サーバー リソース: パブリック ネットワーク サーバー リソース (Alibaba Cloud、Tencent Cloud) が必要です。または他のクラウドリソース)
·サーバー環境: PHP 開発に最適な LNMP 環境の使用をお勧めします。 (サーバーが PHP を正常に実行していることを確認してください。ご質問がある場合は、投稿者と個人的にチャットできます)
·パブリック アカウントのリソース: パブリック アカウントをお持ちでない場合, まず、パブリックアカウントプラットフォームにアクセスして、WeChatパブリックプラットフォームを申請します。通常、個人はサブスクリプション番号のみを申請できます。
·技術要件: ある程度のコーディング能力を習得していること。
関連する推奨事項: 「php チュートリアル 」
開発構成
ログイン後パブリック プラットフォーム 「開発」->「基本構成」をクリックします。
開発者パスワードを取得して保存します (自分だけが見える場所に保存してください)
IP ホワイトリストを追加します (Go を追加します)サーバーのパブリック IP に)
#サーバー構成を入力します。サーバー アドレスは IP またはドメイン名にすることができます。スクリプト アドレスを入力し (WeChat アクセス用)、トークンをカスタマイズすると、AESKEY がランダムにトークンを生成します。メッセージ メソッドのセーフ モードを選択します。
# もちろん、上記の情報をプロジェクトに保存して呼び出してください。ここではまだ「送信」をクリックしないでください。
スクリプト開発
次に、前の手順で入力したリンク アドレスでインターフェイスを開発します。
#コードを直接コピーできます。ドキュメントの説明 WeChat 開発ドキュメント (ドキュメントのデモは接続されていません)
<?php namespace api\controllers; use yii\web\Request; class WeiXinController { public function actionIndex() { $params = (new Request())->get();//不用yii2的同学替换为 $params=$_GET; $tmpArray = array(WX_TOKEN, $params['timestamp'], $params['nonce']);//WX_TOKEN就是上一步填写的token值 sort($tmpArray, SORT_STRING);//别漏了第二个参数 $tmpStr = implode($tmpArray); $tmpStr = sha1($tmpStr); if ($params['signature'] == $tmpStr) { echo $params['echostr']; exit(); } echo 'failed'; } }
Done
上記の手順を完了したら、[送信] をクリックします. 設定が成功したことがわかります。
#発生する可能性のある問題。
#トークン解析に失敗しました: インターフェイスが返されなかったことを意味します。
######サービス エラー: サーバーに問題がある可能性があります。インターフェイスにアクセスできるかどうかを確認してください。 ###以上がPHPでパブリックアカウントにアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。