Pembangunan akaun awam .NET WeChat untuk mencipta kemahiran menu_javascript tersuai

WBOY
Lepaskan: 2016-05-16 15:50:00
asal
1477 orang telah melayarinya

1. Kata Pengantar

Sebelum pembangunan, kita perlu membaca dokumentasi antara muka rasmi Saya perlu mengadu bahawa dokumentasi rasmi WeChat adalah benar-benar buruk, bagaimanapun, untuk membangunkan fungsi yang kita perlukan, kita juga perlu membaca dokumen ini.

Alamat dokumen antara muka: http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html

Selepas membaca dokumen ini, saya memahami maksud asas Kami mencipta menu yang ingin kami buat dan menyiarkannya ke pelayan WeChat kemudian memberi kami beberapa kod status untuk menentukan sama ada menu kami berjaya dibuat perlu melakukan beberapa pengesahan sebelum menghantar data json.

2. Persediaan

Mula-mula tulis menu yang ingin kita buat dalam teks txt:

 {
   "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"
      }]
    }]
 }

Salin selepas log masuk

3. Mulakan pengekodan

Mula-mula kita buat pengendali am createMenu.ashx.

Salin kod Kod adalah seperti berikut:

Token akses rentetan awam { dapatkan; protected void Page_Load(penghantar objek, EventArgs e)
            {
FileStream fs1 = new FileStream(Server.MapPath(".") "
\menu.txt", FileMode.Open); ​​​​​​ StreamReader sr = StreamReader baharu(fs1, Encoding.GetEncoding("UTF-8"));
                menu rentetan = sr.ReadToEnd();
             sr.Close();
                     fs1. Tutup();
        var str = GetPage("
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxd811f5114e3e56f3&secret=76eb33f261296"c , "");                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); }

Apa yang perlu diperhatikan di sini ialah parameter appid dan rahsia perlu diganti dengan parameter kita sendiri. Kita boleh meletakkan parameter ini dalam fail konfigurasi. Ia juga boleh diletakkan secara berasingan dalam kelas pembantu.

Pada masa yang sama, apabila membuat menu, kami perlu membawa token akses saya untuk mengesahkan identiti kami. Jadi perkara pertama yang perlu kami lakukan ialah mendapatkan token kami , kami hanya perlu lulus parameter appid dan rahsia kami

{"access_token":"jVLAT9Rp9dNgxI4pb4RWlSx_9HJLXICmk_uWDlRtAug8wcaWhZZ10eqZCYRZrEwCIJf1-vBhS9YEX00Dj7q__lJCyTIWOxTruOd25"🎉"0xTruOd25"


Nilai pulangan kaedah GetPage di atas. Jadi kita boleh dapatkan token kita.

Langkah terakhir: bawa token kami dan siarkan data menu json kami untuk mencipta menu.

Apabila anda melihat kod berikut:

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

Ini bermakna menu anda berjaya dibuat.

Empat: GetPage

Kodnya adalah seperti berikut:

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya
    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;
      }
    }

Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!