微信公眾平台開發基礎概念介紹

高洛峰
發布: 2017-03-06 10:01:20
原創
1878 人瀏覽過

一:如何開始

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

2:登入之後介面是這樣滴:

微信公眾平台開發基礎概念介紹

3:接下來,我需要準備自己的網站,然後發布自己的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();       
    }       
}
登入後複製

在自己的伺服器上發布了這個網站後,我們填寫地址和TOKEN(注意,我的測試程式碼中並沒有驗證這個TOKEN)。然後在上文圖中點選 提交 後,得到了這個介面:

微信公眾平台開發基礎概念介紹

#以上介面的出現即意義這提交成功。

4:用手機微信掃一掃剛才的二維碼後發生了什麼事?

上面說到了這個測驗的公眾號在管理端的表現,那麼如果關注了它,你自己的微信發生了什麼變化。是的,它出現在了你的訂閱號碼中。話說,一開始我以為這個測試號不是服務號呢就不能享受一些高級功能。不過,不會的,既然是測試號,就應該讓我測的快樂高興,於是,我們來看看如何產生選單。不過,先稍後,我們先來理清下思路,看看微信公眾號的資料流轉到底是個怎麼回事。如果沒有理清這一點,你就會跟我一樣,一天內摸不清頭腦。

二:關於資料流轉

1:註冊測試帳號

註冊測試帳號,是在微信的網站上完成的,輸入url 和token,則表示我們已經創建了這個公眾號。

2:關注了你的公眾號的他人如何與你互動

當有人關注了這個公眾號,他首先訪問的就是這個我們在創建時刻使用的url,沒錯,該url 很重要。註冊的時候,微信的網站會訪問它,看它合法否。註冊成功後,該 url 就成為他人在手機上使用微信與你互動的唯一地址。

3:你如何推送內容給他人

這就分為兩個部分了,

第一個情形:透過在微信網站上設定資訊或呼叫微信接口,我們就讓我們的公眾號綁定了一些資訊:如自訂選單。這樣,當他人關注公眾號的時候,就能看到自訂選單等資訊;

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

你可以推送這些資訊給他人:自訂選單

 

#三:實例-如何產生自訂選單

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

微信公眾平台開發基礎概念介紹

#記住,輸入的必須是JSON 格式的內容,要滿足其格式要求,可以參考微信的開發者檔案。

然後我們取消先前的關注,從新再關注公眾號,就能看到這個新創建的菜單了(注意,有延遲,若不願意等,則可以換個其它的微信號關注下,就出來了)。由於我手機不能拍攝自己,這裡就不出效果圖了。

3.1 關於access_token

注意,在這裡,我們還需要輸入一個access_token,這個值我們同樣也可以使用這個介面偵錯工具獲得:

微信公眾平台開發基礎概念介紹

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

 

四:實例-一個真正的 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 呢?因為申請公眾號的時候的,微信網站對這個 url 的驗證是使用 GET 進行了,那樣,我們就可以用 Auth 這個方法了,而交互,則是用 POST 進行的。接下來,我們可以開始做真正意義上的微信開發了:)~~

 

參考:

1:開發者檔案,http://mp.weixin.qq.com/wiki/index.php?title=%E5%BC%80%E5%8F%91%E8%80%85 %E8%A7%84%E8%8C%83

更多微信大眾平台開發基礎概念介紹相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板