微信公眾號訂閱模板 【傳送自定義模板以及模板點選跳轉新頁面】
嗯。。。已經好久沒寫部落格了,主要是今年一波三折,還好現在穩定下來。記錄下微信的一些東西吧!string.format可以簡寫成$ 有需要的同學們!!
為了關心一些沒有公眾號的開發者,微信推出了開發者的測試號,按地址https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index去註冊一個微信開發者的測試號!這時候只需要用微信掃描登陸既可註冊一個測試好了。如下圖:
這裡的appid 和appsecret對我們很重要,為了能獲取後面accesstoken。如果註冊完成上面步驟,我們開始搞事情!!!!
一.關注測試號,編寫模板內容
注意,模板一定要按照官方指定的規則去編寫,當然可以看到官方也是做了一些欄位的約束,可以參考
二.根據appid 和appsecret獲取accesstoken,模板內容分析
為了確保你的appid和appsecret是正確的,你可以採用https://mp.weixin.qq.com/debug/去驗證下,如果正確如圖顯示
當然我們也可以簡單的get請求下
var authurl = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}View Code", appid, secret); var content = ""; using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) { content = client.DownloadString(authurl); }
然後我們分析下模板的data結構,可以發現data其實是一個字典,鍵對值的方式。所以程式碼我們也應該寫成如下
publicView CodeDictionary<string,DataValue> data { get; set; } public class DataValue { public string value { get; set; } }
三.根據accesstoken和openid 向關注者傳送訊息
注意在官方模板中touser 下發者,即為接受者的openid
可以參考連線https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0},並以post的請求去傳送,如果返回為0即成功了
四.一些其它需求可能用到的介面
1.獲取公眾號下的所有關注者的openid
//關注者的所有openid //var datas = string.Format("https://api.weixin.qq.com/cgi-bin/user/get?access_token={0}",mode.access_token); //using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) //{ // content = client.DownloadString(datas); //}View Code
2.根據openid獲取關注者的資訊
//根據openid找到對應的人員資訊 //var resinfo = string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN", mode.access_token, x.OpenId); //using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) //{ // content = client.DownloadString(resinfo); //}View Code
五.github程式碼參考,需要自取 專案:WeChatTemplate
https://github.com/AsyncTaskSola/WebClogXSEvan.git
若要轉載請附上作者原文連結https://www.cnblogs.com/hexsola1314/p/15719370.htmlEvan