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


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

先粘貼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控制器等。下面將會介紹服務器代碼寫法;

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();

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM