1. 程式人生 > 其它 >微信公眾號訂閱模板 【傳送自定義模板以及模板點選跳轉新頁面】

微信公眾號訂閱模板 【傳送自定義模板以及模板點選跳轉新頁面】

嗯。。。已經好久沒寫部落格了,主要是今年一波三折,還好現在穩定下來。記錄下微信的一些東西吧!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}
", appid, secret); var content = ""; using (WebClient client = new WebClient() { Encoding = System.Text.Encoding.UTF8 }) { content = client.DownloadString(authurl); }
View Code

然後我們分析下模板的data結構,可以發現data其實是一個字典,鍵對值的方式。所以程式碼我們也應該寫成如下

public
Dictionary<string,DataValue> data { get; set; } public class DataValue { public string value { get; set; } }
View Code

三.根據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