ホームページ  >  記事  >  バックエンド開発  >  C#はWeChatインターフェイスを使用してWeChatポータルアプリケーションを開発します

C#はWeChatインターフェイスを使用してWeChatポータルアプリケーションを開発します

高洛峰
高洛峰オリジナル
2017-01-17 10:58:231251ブラウズ

WeChat アプリケーションは本格化しており、多くの企業が情報エクスプレスに乗り出すことを望んでいます。そのため、時間があるときに WeChat 関連の開発について調べて学ぶことが重要なことの 1 つになっています。毎日の計画で。この一連の記事では、WeChat の関連する開発プロセスと関連する経験の概要をステップバイステップの観点から包括的に紹介し、関連する開発プロセスを誰もが理解できるようにしたいと考えています。このエッセイは主に、WeChat 開発プロセスの事前準備といくつかの初期作業の紹介に焦点を当てています。

この記事を書く前の 1 週間、私は主に WeChat パブリック プラットフォームのいくつかの紹介記事と関連インターフェイスの説明を参照し、C# コード開発と組み合わせて会社のポータル インターフェイスを整理し、予備的な WeChat 仕事用アカウントを実装しました。ユーザー インタラクションと情報表示の作業がさらに発展すると、さらに多くの機能が追加される可能性があります。また、WeChat インターフェイスの技術的な探求と理解を実現するために、アプリケーションの観点から WeChat インターフェイスを拡張したいと考えています。

1. WeChat アカウント

WeChat のプラットフォーム API を開発して使用するには、WeChat のパブリック プラットフォーム (https://mp.weixin.qq.com/) に登録し、主にサービス アカウントまたはサブスクリプション サービス アカウントを持っている必要があります。企業および組織向けのサブスクリプション アカウントは主に組織と個人向けであり、さまざまなニーズに応じて対応するアカウントを申請できます。

一部の高度なインターフェイスを使用するには、サービス アカウントと高度な認証が必要になる場合があります。アカウント登録の手続きでは、申請書をダウンロードして印刷し、印鑑を押す必要があります。また、申請者は身分証明書と一緒に写真を撮って(ちょっと変ですね(笑))アップロードする必要があります。通常、承認はすぐに取得できます。

会社名でサービスアカウントを申請しました。アカ​​ウントが登録されると、関連情報がメインインターフェイスに表示され、QR コードをスキャンして入力します。会社の WeChat フォローアップ確認ダイアログ、非常に便利です。以下は、私が応募した後の会社アカウントの QR コードです。直接スキャンできます。

C#はWeChatインターフェイスを使用してWeChatポータルアプリケーションを開発します

2. WeChat メニュー定義

WeChat には 2 つのメニュー定義方法があり、1 つは編集モード、もう 1 つは開発モードです。つまり、この 2 つは相互に排他的です。 , 編集モードは使用できなくなります。また、その逆も同様です。編集中のメニューは実際には管理できるのですが、WeChat はそれをサポートしていないため、非常に残念に感じます。

通常の状況では、WeChat 番号を申請したばかりの場合、編集メニューを使用してテストし、指示に従っていくつかのメニューを編集できます。 WeChat では 24 時間以内に更新されると言っていますが、通常は非常に早く更新され、おそらく最速で 1 ~ 2 分以内に更新されるので、快適です。

開発者モードを使用するには、WeChatの要件に従ってサーバーにページリンクを配置する必要があります。C#を使用して開発されている場合は、***.ashxの名前付け方法を使用し、一般的な処理プログラムを使用できます。 Asp.NET の いいえ 通常のページが必要です。

開発モードのメニューを使用します。つまり、WeChat API を呼び出してメニューを作成できます。WeChat API (WeChat には呼び出し可能な API が多数あります) を呼び出すには、いくつかのパラメーターの重要性を知る必要があります。開発モード 開くと、以下に示すように、これらのパラメータがリストされます。

C#はWeChatインターフェイスを使用してWeChatポータルアプリケーションを開発します

3. WeChat にアクセスするためのリンク処理

前述したように、メニューやその他の API 呼び出しを行うために開発モードを申請する場合は、WeChat へのアクセスのテストに合格する必要があります。つまり、リンクが確立されていることを確認する必要があります。あなたが入力したものが存在し、WeChat のコールバック テストに正常に合格できます。 WeChatではPHPページの処理例をC#で開発しているので検索すると以下のような答えが得られます。

一般的な処理プログラムを作成し、その処理ページに処理ロジックを追加します。これは、WeChat によって実行される Get テストを意味し、処理ロジックを追加して、そのコンテンツを送り返す必要があります。ただし、POST モードの場合は、後で紹介するインターフェイス メッセージに対する WeChat サーバーのリクエスト操作になります。

/// <summary>
    /// 微信接口。统一接收并处理信息的入口。
    /// </summary>
    public class wxapi : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            string postString = string.Empty;
            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {
                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.UTF8.GetString(postBytes);
                }

                if (!string.IsNullOrEmpty(postString))
                {
                    Execute(postString);
                }
            }
            else
            {
                Auth(); //微信接入的测试
            }
        }

一般に、Auth 関数では、関連するパラメーターが取得され、処理されて WeChat サーバーに返されます。

string token = "****";//你申请的时候填写的Token
string echoString = HttpContext.Current.Request.QueryString["echoStr"];
string signature = HttpContext.Current.Request.QueryString["signature"];
string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
string nonce = HttpContext.Current.Request.QueryString["nonce"];

完全な Author 関数コードは次のとおりです。ビジネス ロジックの管理を容易にするために、ビジネス ロジックを新しいクラスにさらに抽出しました。

/// <summary>
        /// 成为开发者的第一步,验证并相应服务器的数据
        /// </summary>
        private void Auth()
        {
            string token = ConfigurationManager.AppSettings["WeixinToken"];//从配置文件获取Token
            if (string.IsNullOrEmpty(token))
            {
                LogTextHelper.Error(string.Format("WeixinToken 配置项没有配置!"));
            }
            string echoString = HttpContext.Current.Request.QueryString["echoStr"];
            string signature = HttpContext.Current.Request.QueryString["signature"];
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
            string nonce = HttpContext.Current.Request.QueryString["nonce"];
            if (new BasicApi().CheckSignature(token, signature, timestamp, nonce))
            {
                if (!string.IsNullOrEmpty(echoString))
                {
                    HttpContext.Current.Response.Write(echoString);
                    HttpContext.Current.Response.End();
                }
            }
        }

WeChat パラメーター CheckSignature に署名して返すコードは次のとおりです

/// <summary>
        /// 验证微信签名
        /// </summary>
        public bool CheckSignature(string token, string signature, string timestamp, string nonce)
        {
            string[] ArrTmp = { token, timestamp, nonce };
            Array.Sort(ArrTmp);
            string tmpStr = string.Join("", ArrTmp);
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();
            if (tmpStr == signature)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

4. 開発メソッドを使用してメニューを作成します


WeChat 認証に成功すると、開発メソッドを使用できるようになります。メソッド API を呼び出して、自由にメニューを作成します。

メニューを作成するには、次の場所からその API 処理インターフェイスに入ることができます。

C#はWeChatインターフェイスを使用してWeChatポータルアプリケーションを開発します

入力すると、WeChat が多くのメッセージの処理をさまざまなカテゴリに分割していることがわかります。

C#はWeChatインターフェイスを使用してWeChatポータルアプリケーションを開発します

WeChat インターフェイスを使用して WeChat ポータル アプリケーションを開発することに関するその他の C# 関連記事については、PHP 中国語 Web サイトに注目してください。

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