この記事では、主に WeChat ポータルとアプリケーションを開発するための C# の最初の記事と WeChat インターフェイスの使用方法を詳しく紹介します。興味のある友人は参考にしてください。
WeChat アプリケーションは本格化しています。これはビジネスチャンスであり、技術的な方向性であるため、時間があるときに WeChat の開発について勉強することが私の日々の計画の中で重要なことの 1 つになっています。この一連の記事では、WeChat の関連する開発プロセスと関連する経験の概要をステップバイステップの観点から包括的に紹介し、関連する開発プロセスを誰もが理解できるようにしたいと考えています。このエッセイは主に、WeChat 開発プロセスの事前準備といくつかの初期作業の紹介に焦点を当てています。
この記事を書く前の 1 週間、私は主に WeChat パブリック プラットフォームのいくつかの紹介記事と関連インターフェイスの説明を参照し、C# コード開発と組み合わせて会社のポータル インターフェイスを整理し、予備的な WeChat 仕事用アカウントを実装しました。ユーザー インタラクションと情報表示の作業がさらに発展すると、さらに多くの機能が追加される可能性があります。また、WeChat インターフェイスの技術的な探求と理解を実現するために、アプリケーションの観点から WeChat インターフェイスを拡張したいと考えています。
1. WeChat アカウント
WeChat プラットフォーム API を開発して使用するには、WeChat のパブリック プラットフォームに登録し、サービス アカウントまたはサブスクリプション アカウントを持っている必要があります。サービス アカウントは主に企業や組織向けであり、サブスクリプション アカウントは主に企業や組織向けです。組織と個人の間にはいくつかの違いがあります。さまざまなニーズに応じて、対応するアカウントを申請できます。
一部の高度なインターフェイスを使用するには、サービス アカウントと高度な認証が必要になる場合があります。 アカウント登録のプロセスでは、申請書フォームをダウンロードし、印刷して公印を押す必要があります。また、申請者はIDカードと一緒に写真を撮り(ちょっと変ですね(笑))、それをアップロードする必要があります。通常、承認はすぐに取得できます。
会社名でサービスアカウントを申請しました。アカウントが登録されると、関連情報がメインインターフェイスに表示され、QR コードをスキャンして入力します。会社の WeChat フォローアップ確認ダイアログ、非常に便利です。以下は、私が応募した後の会社アカウントの QR コードです。直接スキャンできます。
2. WeChat メニュー定義
WeChat には 2 つのメニュー定義方法があり、1 つは編集モード、もう 1 つは開発モードです。つまり、一度採用すると、この 2 つは相互に排他的になります。開発モードの場合は編集モードを使用できません。また、その逆も同様です。編集中のメニューは実際には管理できるのですが、WeChat はそれをサポートしていないため、非常に残念に感じます。
通常の状況では、WeChat 番号を申請したばかりの場合、編集メニューを使用してテストし、指示に従っていくつかのメニューを編集できます。 WeChat では 24 時間以内に更新されると言っていますが、通常は非常に早く更新され、おそらく最速で 1 ~ 2 分以内に更新されるので、快適です。
開発者モードを使用するには、WeChatの要件に従ってサーバーにページリンクを配置する必要があります。C#を使用して開発されている場合は、***.ashxの名前付けメソッドを使用し、の汎用ハンドラーを使用できます。 Asp.NET では、通常のページを使用する必要はありません。
開発モードのメニューを使用します。つまり、WeChat API を呼び出してメニューを作成できます。WeChat API (WeChat には呼び出し可能な API が多数あります) を呼び出すには、いくつかのパラメーターの重要性を知る必要があります。開発モード 開くと、以下に示すように、これらのパラメータがリストされます。
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(); } } }
而对微信参数的签名并返回的操作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、使用开发方式创建菜单
一旦你顺利通过微信的认证,那么它就让你以开发方式调用它的API,并且可以随意创建你的菜单了。
创建菜单的方式,你可以通过下面的位置进入到他的API处理界面里面。
进入后,你会发现微信把很多消息的处理,分门别类放到不同的分类里面了。
其实我们现在初步要做的就是如何看看,使用代码方式调用创建菜单,进入菜单的API调试界面里面。
你会发现里面还需要输入一个Access_Token的东西,这个是一个会话身份认证,因此你还需要到接口里面去找这个如何创建的。下面图中的两个红色部分,就是我们开始的时候,微信提示我们“开发者凭据”的两个关键参数。
弄完这些,你就可以根据获得的Access_Token进行菜单的创建工作了,根据菜单的定义,它分为几类,可以分为URL方式(View),事件方式(Click)。
click:用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互;
view:用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值(即网页链接),达到打开网页的目的,建议与网页授权获取用户基本信息接口结合,获得用户的登入个人信息。
5、我创建的菜单案例
在随笔的开始,我公布了一个二维码,一旦使用微信扫一扫,进行关注服务号后,那么就可以看到我自己创建的菜单了。主菜单一般最多三列,每个主菜单还可以有子菜单,他们的文字都有所限制的。
我们来看看我公司的微信门户菜单,看起来是不是很酷呢。
以上がWeChat ポータルおよびアプリケーションの C# 開発で WeChat インターフェイスを使用する方法 (1) (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。