ホームページ >バックエンド開発 >PHPチュートリアル >php WeChat開発アクセス例の詳細説明

php WeChat開発アクセス例の詳細説明

墨辰丷
墨辰丷オリジナル
2018-06-01 14:32:122492ブラウズ

この記事では主に PHP WeChat 開発アクセスを詳細に紹介し、署名を確認してリクエストを検証します。興味のある友人は参照してください。

WeChat は誰もがよく知っているはずで、Alipay のように静かに使用されています。この新しいライフスタイルにより、ますます多くのマイクロサービスが私たちの生活に入り込み始めています。WeChat を使用してクレジット カードの請求書、返済、支払いを確認できるようになりました。Tencent は、最近の WeChat パートナー カンファレンスで、このサービス アカウントが支払い機能を開放すると発表しました。これらの 9 つの高度なインターフェイスを通じて、開発者は WeChat を使用してテレビ、冷蔵庫、洗濯機、さらには炊飯器を遠隔制御したり、オンラインで映画のチケットや携帯電話を簡単に購入したり、有料のインターネット TV を視聴したりすることもできます。プログラムなど

それでは、私の個人的な理解に基づいて、WeChat開発の最初のステップであるWeChatサーバーへの接続方法を簡単に説明します。

WeChat の開発に参加したい場合、最初のステップは WeChat 公式アカウントを申請することです。公式アカウントはサービスアカウントとサブスクリプションアカウントに分かれています。サービス アカウントは、その名前が示すように、主に企業やサービス業界で使用されます。その機能は、ユーザー メニューをカスタマイズできます。このアカウントは、月に 1 つのグループ メッセージのみを送信できます。サブスクリプションアカウントは主に情報や情報を提供するために使用され、サービスアカウントに比べて機能は弱いですが、毎日グループメッセージを送信できます。以下の説明はすべてサービス アカウントに基づいています。

WeChat パブリック アカウントを申請した後、WeChat サーバーとのデータ通信を容易にする外部 WEB サーバーも必要です。このステップについては詳しく説明しません。Baidu と Sina の両方がこのサービスを提供しています。

WeChat パブリック プラットフォームにログインし、左側のナビゲーション メニューで [機能] --> [高度な機能] を選択します。WeChat には 2 つの「編集モード」と「開発モード」が用意されています。つまり、「編集モード」がオンの場合は「開発モード」をオフにする必要があり、その逆も同様です。 「編集モード」はフールモードとも呼ばれ、開発者はプラットフォーム上でメニューを直接定義し、自動応答やその他の機能を設定できます。ここで定義されたメニュー機能は、ユーザーがカスタム メニューをクリックした後は、メッセージに返信するか、ユーザーがクリックしたメニューに基づいて他のアクションを実行する必要がある場合にのみ実行できます。 「開発モード」を使用します。

「開発モード」を使用するには、開発者になるために申請する必要があります。

また、トークン (開発者が任意に入力) も指定する必要があります。アクセス時の検証のために署名を生成します。

2 番目のステップは、指定した URL の有効性を確認することです。WeChat サーバーは、指定した URL に GET リクエストを送信します。このリクエストには 4 つのパラメータが含まれます。

開発者は署名をチェックすることでリクエストを検証します。この GET リクエストが WeChat サーバーからのものであることが確認された場合は、echostr パラメーターの内容をそのまま返してください。アクセスが有効になり、開発者になることができます。そうでない場合は、アクセスは失敗します。

PHP検査コードは以下の通りです。

<?php

  $wechatObj = new wechatCallbackAPI();
  $wechatObj->valid(); 


  class wechatCallbackAPI {

    private $token = "WEIXIN";

    private $appId = "APPID";

    private $appSecret = "APPSECRET";
    
    private function checkSignature() {
      $signature = $_GET["signature"];
      $timestamp = $_GET["timestamp"];
      $nonce = $_GET["nonce"];  
          
      $tmpArr = array($this->token, $timestamp, $nonce);
      sort($tmpArr);
      $tmpStr = implode($tmpArr);
      $tmpStr = sha1($tmpStr);
      
      if($tmpStr == $signature) {
        return true;
      } else {
        return false;
      }
    }

    public function valid() {
      $echoStr = $_GET["echostr"];
      
      //valid signature, option
      if($this->checkSignature()){
        echo $echoStr;
        exit;
      }
    }
  }
?>

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHPの匿名関数と注意事項の詳細な説明

PHPで実装されたログイン、登録、パスワード変更機能

PHPでのcall_user_func_arrayコールバック関数の使用


以上がphp WeChat開発アクセス例の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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