微信公衆號入門學習1_使用C#,ASP.NET APIController如何公衆號接入服務器並啓動開發者模式

前言:  本文是以微信公衆號中的訂閱號(我的)來進行簡單介紹,本人也是剛剛開始學習,有不足之處,歡迎批評指正。html

先粘貼2個幫助連接:服務器

入門指引:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5&token=&lang=zh_CN微信

微信開發介紹-源代碼分享:http://www.cnblogs.com/pmars/p/3680615.html網絡

 

1-去微信公衆平臺申請屬於你的訂閱號。  https://mp.weixin.qq.com/微信開發

基本信息以下:微信公衆平臺

2-點擊菜單:開發--基本配置:學習

3-點擊修改配置:測試

爲了方便入手:URL必填,Token本身起名,EncodingAESKey隨機生成便可,最後一個使用明文方式。加密

 URL:本身代碼後生成的能夠在外網訪問的接口地址,可使用通常處理程序或者MVC中API控制器等。下面將會介紹服務器代碼寫法;spa

Token:用於驗證服務器消息是否來自微信服務器;

EncodingAESKey:消息加密鑰匙,若是第四個選項使用明文方式,不需理會,我們隨機生成便可。

4-準備微信服務器接入代碼服務器接口:

將API項目發佈後,COPY到外網能夠訪問的服務器中,並部署到IIS上。

一版路徑以下:http://服務器域名(必須80端口)/站點名/GzhTest/Check

這一步可參考文章:

入門指引:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5&token=&lang=zh_CN

微信開發介紹-源代碼分享:http://www.cnblogs.com/pmars/p/3680615.html

    public static HttpResponseMessage GetReturn(string message)
        {
            return new HttpResponseMessage
            {
                Content = new StringContent(message, Encoding.UTF8, "text/html")
            };
        }
        /// <summary>
        /// 公衆號接入測試
        /// </summary>
        /// <param name="signature">微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。</param>
        /// <param name="timestamp">時間戳</param>
        /// <param name="nonce">隨機數</param>
        /// <param name="echostr">隨機字符串</param>
        /// <returns>開發者經過檢驗signature對請求進行校驗(下面有校驗方式)。若確認這次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成爲開發者成功,不然接入失敗。</returns>
        [HttpGet]
        [Route("Check")]
        public HttpResponseMessage Check(string signature, string timestamp, string nonce, string echostr)
        {
            var myToken = ConfigurationManager.AppSettings["myToken"];

            var list = new string[] { myToken, timestamp, nonce };
            Array.Sort(list);
            var sortStr = string.Join("", list);
            var sha1Str = FormsAuthentication.HashPasswordForStoringInConfigFile(sortStr, "SHA1").ToLower();

            if (sha1Str == signature && !string.IsNullOrEmpty(echostr))     //根據微信的驗證規則作判斷
                return GetReturn(echostr);

            return GetReturn("error");
        }

 

5-接入微信服務器:

將上面接口地址放入URL中,便可,最後提交確認。    

點擊提交按鈕。若提示」token驗證失敗」, 請認真檢查代碼或網絡連接等。  若token驗證成功,會自動返回基本配置的主頁面,點擊啓動按鈕

6-備註:本人遇到過token驗證失敗,個人緣由是由於接口直接返回要求的隨機字符串,可是這裏使用API,彷佛必須是HttpResponseMessage ,

若是是通常處理程序,使用:

    HttpContext.Current.Response.Write(echoString);
    HttpContext.Current.Response.End();
相關文章
相關標籤/搜索