C#開發之微信小程式發送模板訊息功能

來源:互聯網
上載者:User
這篇文章主要介紹了C#開發之小程式發送模板訊息功能,需要的朋友可以參考下

步驟一:擷取模板ID

有兩個方法可以擷取模版ID

  1. 通過模版訊息管理介面擷取模版ID

  2. 在公眾平台手動設定擷取模版ID

步驟二:頁面的 <form/> 組件,屬性report-submit為true時,可以聲明為需發模板訊息,此時點擊按鈕提交表單可以擷取formId,用於發送模板訊息。或者當使用者完成支付行為,可以擷取prepay_id用於發送模板訊息。

步驟三:調用介面下發模板訊息

今天重要的說第三步怎麼實現,前面的步驟比較簡單就略過。

----------------------------------------------------------------------------------------------------

1. 擷取 access_token

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

後面會在發送模板訊息的時候會用到access_token

2. 發送模板訊息

介面地址:(ACCESS_TOKEN 需換成上文擷取到的 access_token)

https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN

注意說明:由於現在不讓開發人員直接在前端使用 https://api.weixin.qq.com 介面擷取資料,所以下面的操作都必須由伺服器後台來完成。

官方的POST參數:

{ "touser": "OPENID",  "template_id": "TEMPLATE_ID",  "page": "index",    "form_id": "FORMID",    "data": {  "keyword1": {   "value": "339208499",    "color": "#173177"  },   "keyword2": {   "value": "2015年01月05日 12:30",    "color": "#173177"  },   "keyword3": {   "value": "粵海喜來登酒店",    "color": "#173177"  } ,   "keyword4": {   "value": "廣州市天河區天河路208號",    "color": "#173177"  }  }, "emphasis_keyword": "keyword1.DATA" }   var l = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" + access_token;   var tempData = new   {    touser = openid,    template_id = "VErasH9Plzmyw9-PQjiggkBCa3hOU30qfvTaxD******",//這個是1、申請的模板訊息id,    page ="pages/index/index",    form_id = formId,    data = new    {     keyword1 = new     {      value = title,      color = "#666666"     },     keyword2 = new     {      value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),      color = "#9b9b9b"     },     keyword3 = new     {      value = Remarks,      color = "#9b9b9b"     }    },    color = "#666666"   };   X.Component.Tools.WebClient wc = new X.Component.Tools.WebClient();   var result = tempData.ToJson(); //Newtonsoft.Json.JsonConvert.SerializeObject(tempData);   wc.Encoding = System.Text.Encoding.UTF8;   var obj = wc.Post(l, result); //得到返回的結果

注意 page路徑

最後返回的結果:

{ "data": {  "success": true },  "statusCode": 200,  "header": {  "Server": "Microsoft-IIS/7.5",   "Access-Control-Allow-Origin": "https://pubchem.ncbi.nlm.nih.gov",   "Cache-Control": "private",   "X-UA-Compatible": "chrome=1",   "Date": "Thu, 28 Sep 2017 04:46:34 GMT",   "X-AspNetMvc-Version": "4.0",   "Content-Type": "application/json; charset=utf-8",   "X-Powered-By": "ASP.NET",   "X-AspNet-Version": "4.0.30319",   "Content-Length": "16" },  "errMsg": "request:ok"}

效果:

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.