ホームページ  >  記事  >  WeChat アプレット  >  Senparc.Weixin.MP SDK WeChat パブリック プラットフォーム開発チュートリアル (3): WeChat パブリック プラットフォーム開発の検証

Senparc.Weixin.MP SDK WeChat パブリック プラットフォーム開発チュートリアル (3): WeChat パブリック プラットフォーム開発の検証

高洛峰
高洛峰オリジナル
2017-02-22 15:34:061947ブラウズ

WeChat パブリック プラットフォームの「開発モード」に接続するには、つまり独自の Web サイト プログラムに接続するには、正常に登録する必要があります (Senparc.Weixin.MP SDK を参照してください。 WeChat パブリック プラットフォーム開発チュートリアル (1): WeChat パブリック プラットフォーム登録)して正式承認を待ちます。承認後、背景の上部に「高度な機能」メニューが表示されます。

「高度な機能」 > 「開発モード」を使用する前に、インターネット上に展開され、ポート 80 を使用してアクセスできる Web サイトが必要です (ドメイン名または IP アクセスが可能です)。記事: Senparc.Weixin.MP SDK WeChat パブリック プラットフォーム開発チュートリアル (2): 開発者になる

初めて「高度な機能」に入ると、インターフェイスは次のようになります:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

デフォルトでは、「編集モード」がオンになっています。「開発モード」を使用するには、まず「編集モード」をオフにする必要があります。

クリックして編集モードに入ります。以下に示すように:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

右上隅のスライダーをクリックして「編集機能」をオフにします。

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

次に、以下に示すように、[高度な機能] に戻り、[開発モード] に入ります:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

開発モードに入った後、WeChat サーバーと通信するための URL とトークンを設定する必要があります。私たちだけが知っていること(公開してはならない)。

公式が PHP バージョンの例を提供しています: http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip 公式 API の手順に従って独自の言語で記述することもできます。

Senparc.Weixin.MP のオープンソース プロジェクトでは、直接デプロイできる 2 つのデモ (ASP.NET MVC と ASP.NET Web Forms) も提供しています: https://github.com/JeffreySu/WeiXinMPSDK

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

送信時に、WeChat サーバーは、入力された URL の Get メソッド リクエストを検証するためにトークンを使用します。成功した場合、保存は成功し、エラー メッセージが表示され、入力された URL が返されます。 -in の情報は保存できません。

この URL に対応するプログラムにどのような必要な要素を含めるべきかをより直感的に示すために、ここで Senparc.Weixin.MP の実装方法を示します (例として MVC と WebForms をそれぞれ使用します):

方法 1 : MVC の使用

1. WeixinController.cs などのコントローラーを作成します。Senparc.Weixin.MP.dll を参照してください (Senparc.Weixin.MP.dll を使用)。最新の DLL については、Senparc.Weixin.MP を参照してください。オープンソースプロジェクトのBuildOutPutフォルダー https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Senparc.Weixin.MP.BuildOutPut

2. プライベート変数を設定します(もちろんデータベースに保存することもできます) 3. 次のような Get リクエスト用の Index という名前のアクションを作成します。

        public readonly string Token = "weixin";//与微信公众账号后台的Token设置保持一致,区分大小写。

この時点で、これらのコードはコンパイルされ、必要に応じて Web サイトにデプロイされ、埋め込まれます。 「インターフェイス構成情報」http://www.php.cn/ で、トークンに weixin を入力します。

上記のコードを含む完全な WeixinController.cs は、ここにあります。

方法 2: Web フォームを使用する

Web フォームの検証プロセスは MVC と同じですが、記述方法が少し異なります。ファイル名はルートディレクトリ weixin.aspx:

        /// <summary>
        /// 微信后台验证地址(使用Get),微信后台的“接口配置信息”的Url填写如:http://www.php.cn/
        /// </summary>
        [HttpGet]
        [ActionName("Index")]
        public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
        {
            if (CheckSignature.Check(signature, timestamp, nonce, Token))
            {
                return Content(echostr); //返回随机字符串则表示验证通过
            }
            else
            {
                return Content("failed:" + signature + "," + MP.CheckSignature.GetSignature(timestamp, nonce, Token)+"。如果您在浏览器中看到这条信息,表明此Url可以填入微信后台。");
            }
        }

上記のコードによると、「インターフェース構成情報」では、URLはhttp://YourDomain/weixin.aspxに、トークンはweixinに入力されるはずです。

上記の weixin.aspx.cs の完全なコードは、ここでご覧ください (もちろん、効率をさらに向上させるために、ashx として記述することもできます)。

CheckSignature.Check() メソッドは、Senparc.Weixin.MP SDK でリクエストを検証するためのメソッドであり、カプセル化されています。ここで直接使用する目的は、コードを簡素化し、興味のある友人がソース コードを直接見ることができるようにすることです。

上記の 2 つの方法、MVC と Web フォームのいずれかを使用すると、すでにバックグラウンド検証に合格できます。ただし、Get メソッドだけでは WeChat ユーザーが送信した情報と通信できないことに注意してください。前のチュートリアルから、WeChat バックグラウンドの URL は Get メソッドを通じてリクエストされ、WeChat クライアントからのリクエストは Post メソッドを通じてリクエストされることがわかっているためです。 . Postメソッドについては、後のチュートリアルで詳しく説明します。

そして、現在の設定では、Post 関連のメソッドを作成したとしても、検証に合格した後、サーバーが WeChat サーバーからメッセージを受信できるようになるわけではありません。「」を手動で開くという最後のステップがまだ残っています。開発者「モード」:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

これで、この WeChat アカウントは正常に「開発者モード」に切り替わりました。WeChat クライアントから公開アカウントに送信されたすべてのメッセージは、入力した URL に転送されます。

次の記事では、クライアントからの Post リクエストに応答する最も「粗い」メソッドを使用する方法を紹介します。

「粗いマイニング」メソッドを理解した後、Senparc.Weixin.MP SDK の「洗練された」「簡潔な」メソッドを正式に入力します。

Senparc.Weixin.MP SDK の詳細については WeChat パブリック プラットフォーム開発チュートリアル (3): WeChat パブリック プラットフォーム開発の検証 関連記事については、PHP 中国語 Web サイトに注目してください。


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