ホームページ  >  記事  >  ウェブフロントエンド  >  カスタム menu_javascript スキルを作成するための .NET WeChat パブリック アカウント開発

カスタム menu_javascript スキルを作成するための .NET WeChat パブリック アカウント開発

WBOY
WBOYオリジナル
2016-05-16 15:50:001482ブラウズ

1. はじめに

開発する前に、公式インターフェースのドキュメントを読む必要があります。WeChat の公式ドキュメントは本当にひどいものだと言わざるを得ません。しかし、必要な機能を開発するには、これらのドキュメントも読む必要があります。 >

インターフェース文書のアドレス: http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html

これらのドキュメントを読み、基本的な意味を理解しました。作成したいメニューを作成し、WeChat サーバーに送信すると、メニューが正常に作成されたかどうかを判断するためのステータス コードが表示されます。 json データを送信する前に認証を行う必要があります。

2.準備

まず、作成したいメニューをテキストテキストに書きます:

 {
   "button":[
    {
      "type":"view",
      "name":"付停车费",
      "url":"http://www.baidu.com"
  
    },{
      "name":"个人中心",
      "sub_button":[
      {  
        "type":"view",
        "name":"个人信息",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"订单查询",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"使用帮助",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"下载APP",
        "url":"http://www.baidu.com"
      }]
    }]
 }

3. コーディングを開始します

まず、一般的なハンドラー createMenu.ashx を作成します。

コードをコピーします コードは次のとおりです:
パブリック文字列 access_token { 取得 }
protected void Page_Load(オブジェクト送信者, EventArgs e)
{
FileStream fs1 = new FileStream(Server.MapPath(".") "
\menu.txt", FileMode.Open); StreamReader sr = new StreamReader(fs1, Encoding.GetEncoding("UTF-8"));
string menu = sr.ReadToEnd();
sr.Close();
fs1.Close();
var str = GetPage("
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxd811f5114e3e56f3&secret=76eb33f66129692da16d148cb3c024f1" " ); JObject jo = JObject.Parse(str);
access_token = jo["access_token"].ToString();
GetPage("
https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" access_token "", menu); }

ここで注意する必要があるのは、appid パラメータと Secret パラメータを独自のものに置き換える必要があることです。これらのパラメータは設定ファイルに含めることができます。ヘルパー クラスに個別に配置することもできます。

同時に、メニューを作成するときに、ID を確認するために access_token を取得する必要があります。このトークンはインターフェイスを通じて取得することができます。 、appid パラメータと Secret パラメータを渡すだけです

コードをコピーします コードは次のとおりです:
{"access_token":"jVLAT9Rp9dNgxI4pb4RWlSx_9HJLXICmk_uWDlRtAug8wcaWhZZ10eqZCYRZrEwCIJf1-vBhS9YEX00Dj7q__lJCyTIWOxTruOd25opkf-0","expires_in":7200}

上記の GetPage メソッドの戻り値。これでトークンを取得できるようになります。

最後のステップ: トークンを取得し、JSON メニュー データをポストしてメニューを作成します。

次のコードが表示された場合:

{"errcode":0,"errmsg":"ok"}

これは、メニューが正常に作成されたことを意味します。

4: GetPage

コードは次のとおりです:

    public string GetPage(string posturl, string postData)
    {
      Stream outstream = null;
      Stream instream = null;
      StreamReader sr = null;
      HttpWebResponse response = null;
      HttpWebRequest request = null;
      Encoding encoding = Encoding.UTF8;
      byte[] data = encoding.GetBytes(postData);
      // 准备请求...
      try
      {
        // 设置参数
        request = WebRequest.Create(posturl) as HttpWebRequest;
        CookieContainer cookieContainer = new CookieContainer();
        request.CookieContainer = cookieContainer;
        request.AllowAutoRedirect = true;
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;
        outstream = request.GetRequestStream();
        outstream.Write(data, 0, data.Length);
        outstream.Close();
        //发送请求并获取相应回应数据
        response = request.GetResponse() as HttpWebResponse;
        //直到request.GetResponse()程序才开始向目标网页发送Post请求
        instream = response.GetResponseStream();
        sr = new StreamReader(instream, encoding);
        //返回结果网页(html)代码
        string content = sr.ReadToEnd();
        string err = string.Empty;
        Response.Write(content);
        return content;
      }
      catch (Exception ex)
      {
        string err = ex.Message;
        return string.Empty;
      }
    }

上記がこの記事の全内容です。皆さんに気に入っていただければ幸いです

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