1. 程式人生 > >微信公眾號第三方開發之七提交全網釋出【個人收藏】

微信公眾號第三方開發之七提交全網釋出【個人收藏】

【原文:http://blog.csdn.net/eadio/article/details/51546687,如有版權問題請告知我進行刪除】


  在開始這個章節前,我要特別說明下,“公眾號訊息與事件接收URL ”微信有說明尾數一定要帶字串/$APPID$/,而這個固定字串,到時微信post訊息過來的時候會自動替換成授權公眾號。

        一開始我也是不明白為什麼要這樣處理,我不是需要動態建立無數個方法,後來經大神提醒可以做成偽靜態來處理。才恍然醒悟啊!!!

 

比如微信上填寫: http://www.weixin.com/eventmsg/$APPID$/

我用的是mvc框架,那麼我只要在路由裡頭重寫下規則

routes.MapRoute(null,"eventmsg/{appid}", new { controller = "Event", action ="DoEvent" });

那麼我只要建立一個event的控制器檔案裡頭新增如下操作方法:

//公眾號訊息與事件接收URL  當普通使用者關注授權給第三方公眾號觸發的url地址

public ContentResult DoEvent(string appid = "0"){

        ////do something

        ////使用者關注自動回覆處理....

}

 

        以上都做好後,我提交了全網釋出,然後微信反饋回來的訊息如下:


        然後我點選了下面的連結跳轉到這個頁面上,才發現微信在提交全網釋出的時候還需要一個流程----“全網釋出接入檢測說明”。

接入全網釋出地址:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318611&token=05f36979d4762c1277fa9578578c50ad85befaa5&lang=zh_CN

 

        這裡還需要做到3步驗證,文件內描述如下:

 

        當然如果你建立微信第三方的時候沒有勾選


        是不需要檢測2、3步驟的,由於我預設都勾選的,所以上述提及的驗證都需要在測試一遍才行。

 

        接下來我們監控事件接收url地址,發現我點擊發布的時候微信post過來三段xml文字訊息

 

        那麼,現在我們只需要針對post過來的這三段測試訊息體進行對應的回覆。

 

經過一番測試發現步驟12回覆xml訊息體的還是都要經過加密成xml訊息體在進行返回給微信伺服器的哦,最後只需要根據獲取到的content文字和訊息型別進行xml封裝回復。步驟如下:

 

        1、模擬粉絲觸發專用測試公眾號的事件

 

        2、模擬粉絲髮送文字訊息給專用測試公眾號

 

        3、模擬粉絲髮送文字訊息給專用測試公眾號[返回Api文字訊息]

最後一步驗證比較麻煩,

首先,需要根據微信post過來的query_code和微信api獲取測試公眾號的access_token

然後,根據微信API"傳送客服訊息api回覆文字訊息給粉絲"介面傳送寫好的訊息體。

 

        微信api:客服介面-發訊息【記住,這裡不需要在加密啦

        http://mp.weixin.qq.com/wiki/1/70a29afed17f56d537c833f89be979c9.html#.E5.AE.A2.E6.9C.8D.E6.8E.A5.E5.8F.A3-.E5.8F.91.E6.B6.88.E6.81.AF

 

        程式碼如下:

 

        最後上傳伺服器再次提交測試,成功!