程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#應用微信接口開辟微信門戶運用

c#應用微信接口開辟微信門戶運用

編輯:C#入門知識

c#應用微信接口開辟微信門戶運用。本站提示廣大學習愛好者:(c#應用微信接口開辟微信門戶運用)文章只能為提供參考,不一定能成為您想要的結果。以下是c#應用微信接口開辟微信門戶運用正文


微信運用如火如荼,許多公司都願望搭上信息慢車,這個是一個商機,也是一個技巧的偏向,是以,有空研討下、進修下微信的相干開辟,也就成為平常籌劃的主要工作之一了。本系列文章願望從一個按部就班的角度上,周全引見微信的相干開辟進程和相干經歷總結,願望給年夜家懂得一下相干的開辟過程。本漫筆重要針對微信開辟進程的後期預備和一些初始的任務的引見。

在寫下本文的之前一周時光裡,我重要就是參考一些引見文章和微信"平台的相干接口解釋,並聯合C#的代碼開辟,整頓了本身公司的門戶界面,完成了微信任務號的初步用戶交互和信息展現任務,跟著任務的進一步展開,愈來愈多的功效能夠參加,並願望從運用角度上擴大微信的接口,從而完成我對微信接口的技巧探秘和懂得進程。

1、微信賬號

要開辟應用微信的平台API,就須要到微信的"平台(https://mp.weixin.qq.com/)去注冊,具有一個辦事號或許定閱號,辦事號重要面臨企業和組織,定閱號重要面向組織和小我,他們之間有必定的差別,依據分歧的須要本身請求對應的賬號便可。

為了應用一些高等的接口,你能夠須要具有辦事號和高等的認證。賬號注冊進程,須要下載一個請求表格,打印並蓋公章,別的還須要請求人拿著身份證攝影(有點奇異,呵呵),然後上傳到辦事器停止審核,普通很快就可以獲得批復。

我以公司名義請求了辦事號,賬號注冊後,會在主界面上顯示你的相干信息,別的給你請求一個二維碼的器械,掃描二維碼便可進入公司的微信存眷確認對話框,異常便利。以下就是我請求後的公司賬號二維碼,可以直接應用掃描。

2、微信菜單界說

微信有兩種方法的菜單界說,一種是編纂形式,一種是開辟形式,二者互斥,也就是說,一旦我們采取了開辟形式,就不克不及應用編纂形式了,反過去也一樣。編纂下的菜單,其實也是可以治理的,然則微信不支撐,認為很不爽。

普通情形下,假如我們方才請求了微旌旗燈號碼,可使用編纂菜單測試一下,依據解釋編纂一些菜單嘗嘗。固然微信說24小時內更新,不外普通很快,最快能夠一兩分鐘就更新了,感到照樣不錯的。

應用開辟者形式,你須要依據微信的請求,在辦事器上放置一個頁面鏈接,應用C#開辟的,可以采取***.ashx的定名方法,應用Asp.NET的普通處置法式便可,不須要應用通俗的頁面。

應用開辟形式的菜單,也就是可以挪用微信API停止菜單創立的任務,關於挪用微信的API(微信有許多API可以挪用),我們須要曉得,有幾個參數的主要性,所以在開辟形式翻開的時刻,會給你列出這些參數,以下所示。

 3、接入微信的鏈接處置

下面說了,你請求開辟形式對菜單或許對其他API的挪用,你須要順遂經由過程接入微信的測試,也就是確認你填寫的鏈接存在並能順遂經由微信的回調測試。微信供給了一個PHP的頁面處置例子,假如我們是C#開辟的呢,可以搜一下就會獲得謎底,我的處置方法以下所示。

創立一個普通處置法式,然後在其處置頁面外面增長一個處置邏輯,假如長短POST方法的內容,就是表現微信停止的Get測試,你須要增長一些處置邏輯,把它給你的內容傳歸去便可,假如是POST方法的,就是微佩服務器對接口新聞的要求操作了,前面引見。


/// <summary>
    /// 微信接口。同一吸收並處置信息的進口。
    /// </summary>
    public class wxapi : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            string postString = string.Empty;
            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {
                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.UTF8.GetString(postBytes);
                }

                if (!string.IsNullOrEmpty(postString))
                {
                    Execute(postString);
                }
            }
            else
            {
                Auth(); //微信接入的測試
            }
        }

普通來講,Auth函數外面,就是要對相干的參數停止獲得,然落後行處置前往給微佩服務器。


string token = "****";//你請求的時刻填寫的Token
string echoString = HttpContext.Current.Request.QueryString["echoStr"];
string signature = HttpContext.Current.Request.QueryString["signature"];
string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
string nonce = HttpContext.Current.Request.QueryString["nonce"];

完全的Author函數代碼以下所示,個中我把營業邏輯停止進一步抽取到了一個新的類外面,便利營業邏輯的治理。


/// <summary>
        /// 成為開辟者的第一步,驗證並響應辦事器的數據
        /// </summary>
        private void Auth()
        {
            string token = ConfigurationManager.AppSettings["WeixinToken"];//從設置裝備擺設文件獲得Token
            if (string.IsNullOrEmpty(token))
            {
                LogTextHelper.Error(string.Format("WeixinToken 設置裝備擺設項沒有設置裝備擺設!"));
            }

            string echoString = HttpContext.Current.Request.QueryString["echoStr"];
            string signature = HttpContext.Current.Request.QueryString["signature"];
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
            string nonce = HttpContext.Current.Request.QueryString["nonce"];

            if (new BasicApi().CheckSignature(token, signature, timestamp, nonce))
            {
                if (!string.IsNullOrEmpty(echoString))
                {
                    HttpContext.Current.Response.Write(echoString);
                    HttpContext.Current.Response.End();
                }
            }
        }

而對微信參數的簽名並前往的操作CheckSignature,代碼以下所示。


/// <summary>
        /// 驗證微信簽名
        /// </summary>
        public bool CheckSignature(string token, string signature, string timestamp, string nonce)
        {
            string[] ArrTmp = { token, timestamp, nonce };

            Array.Sort(ArrTmp);
            string tmpStr = string.Join("", ArrTmp);

            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();

            if (tmpStr == signature)
            {
                return true;
            }
            else
            {
                return false;
            }
        }


4、應用開辟方法創立菜單

一旦你順遂經由過程微信的認證,那末它就讓你以開辟方法挪用它的API,而且可以隨便創立你的菜單了。

創立菜單的方法,你可以經由過程上面的地位進入到他的API處置界面外面。

進入後,你會發明微信把許多新聞的處置,分門別類放到分歧的分類外面了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved