溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析

發(fā)布時間:2021-09-10 11:51:47 來源:億速云 閱讀:87 作者:小新 欄目:移動開發(fā)

這篇文章給大家分享的是有關(guān)微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一:如何開始

1:如果沒有公眾帳號,可以先申請一個測試帳號:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

2:登錄之后界面是這樣滴:

微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析

3:接下來,我需要準(zhǔn)備自己的網(wǎng)站,然后發(fā)布自己的 URL。于是,我用 ASP.NET 寫了一個 WeixinTest.ashx,其代碼如下:

public void ProcessRequest(HttpContext context) 
{       
    string echoStr = 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 (!string.IsNullOrEmpty(echoStr))      
    {       
        HttpContext.Current.Response.Write(echoStr);       
        HttpContext.Current.Response.End();       
    }       
}

在自己的服務(wù)器上發(fā)布了這個網(wǎng)站后,我們填寫地址和 TOKEN(注意,我的測試代碼中并沒有驗證這個 TOKEN)。然后在上文圖中點擊 提交 后,得到了這個界面:

微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析

以上界面的出現(xiàn)即意味這提交成功。

4:用手機(jī)上微信掃一掃剛才的二維碼后發(fā)生了什么?

上面說到了這個測試的公眾號在管理端的表現(xiàn),那么如果關(guān)注了它,你自己的微信發(fā)生了什么變化。是的,它出現(xiàn)在了你的訂閱號中。話說,一開始我以為這個測試號不是服務(wù)號呢就不能享受一些高級功能。不過,不會的,既然是測試號,就應(yīng)該讓我測的快樂高興,于是,我們來看看如何生成菜單。不過,先稍后,我們首先來理清下思路,看看微信公眾號的數(shù)據(jù)流轉(zhuǎn)到底是個怎么回事。如果沒有理清這點,你就會跟我一樣,一天內(nèi)都摸不清頭腦。

二:關(guān)于數(shù)據(jù)流轉(zhuǎn)

1:注冊測試帳號

注冊測試帳號,是在微信的網(wǎng)站上完成的,輸入 url 和 token,則表明我們已經(jīng)創(chuàng)建了這個公眾號。

2:關(guān)注了你的公眾號的他人如何與你互動

當(dāng)有人關(guān)注了這個公眾號,他首先訪問的就是這個我們在創(chuàng)建時刻使用的 url,沒錯,該 url 很重要。注冊的時候,微信的網(wǎng)站會訪問它,看它合法否。注冊成功后,該 url 就成為他人在手機(jī)上使用微信來跟你互動的唯一地址。

3:你如何推送內(nèi)容給他人

這就分為兩個部分了,

第一個情形:通過在微信網(wǎng)站上配置信息或者調(diào)用微信接口,我們就讓我們的公眾號綁定了一些信息:如自定義菜單。這樣,當(dāng)他人關(guān)注公眾號的時候,就能看到自定義菜單等信息;

第二個情形:第一種情形我們理解為配置階段,那么第二種情形就是真正的開發(fā)階段了,在這個階段,我們接收用戶的消息(text,click,view 等),然后用戶的消息,推送給用戶 text,image,網(wǎng)站頁面(可以跟你的 url 是一個網(wǎng)站,也可以是第三方網(wǎng)站)。

你可以推送這些信息給他人:自定義菜單

三:實例-如何生成自定義菜單

這就是上文中所說到的第一種情形。既然,它實際上跟真正的微信開發(fā)沒有多大關(guān)系,或者說你可以獨立寫段代碼來完成調(diào)用接口從而配置信息,那么好吧,我就用微信自己提供的程序吧:

微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析

記住,輸入的必須是 JSON 格式的內(nèi)容,要滿足其格式要求,可以參考微信的開發(fā)者檔案。

然后我們?nèi)∠暗年P(guān)注,從新再關(guān)注公眾號,就能看到這個新創(chuàng)建的菜單了(注意,有延遲,若不愿意等,則可以換個其它的微信號關(guān)注下,就出來了)。由于我手機(jī)不能拍攝自己,這里就不出效果圖了。

3.1 關(guān)于 access_token

注意,在這里,我們還需要輸入一個 access_token,這個值我們同樣也可以使用這個接口調(diào)試工具獲得:

微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析

需要值得注意的是,該值是有失效期。

四:實例-一個真正的 url 處理程序

public void ProcessRequest(HttpContext param_context)     
{      
    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);      
            Handle(Encoding.UTF8.GetString(postBytes));             
        }      
    }      
    else      
    {      
        Auth();  
    }      
}

為什么要做個判斷是 POST 呢?因為申請公眾號的時候的,微信網(wǎng)站對這個 url 的驗證是使用 GET 進(jìn)行了,那樣,我們就可以用 Auth 這個方法了,而交互,則是用 POST 進(jìn)行的。

感謝各位的閱讀!關(guān)于“微信公眾平臺開發(fā)基礎(chǔ)概念的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI