微信公眾平台開發----自定義菜單、消息處理及獲取OpenID(C#)


一、成為開發者

  1. 服務器配置

       登錄微信公眾平台官網后,在公眾平台后台管理頁面 開發者中心頁,點擊“修改配置”按鈕,填寫服務器地址(URL)、Token和EncodingAESKey,如下圖所示:

微信服務器配置

   其中URL是開發者用來接收微信消息和事件的接口URL。Token可由開發者任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。

 

2. 驗證URL

       開發者提交信息后,微信服務器將發送GET請求到填寫的服務器地址URL上,GET請求攜帶四個參數:

 

這里寫圖片描述

加密/校驗流程如下:
1. 將token、timestamp、nonce三個參數進行字典序排序 2. 將三個參數字符串拼接成一個字符串進行sha1加密 3. 開發者獲得加密后的字符串可與signature對比,標識該請求來源於微信

 

按照該流程,在上面填寫的服務器中,寫入如下驗證代碼:

這里寫圖片描述

將以上代碼部署到服務器端,通過微信公眾平台去驗證,如果驗證成功,則成為開發者成功,否則失敗。驗證成功后顯示如下圖:

這里寫圖片描述

二、創建菜單

  1. 新建菜單JSON文件,如下圖所示: 
    這里寫圖片描述

     其中,button目錄下為以及菜單,sub_button下為二級菜單
  2. 獲取acxess_token

        access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效
  3. 這里寫圖片描述
    參數說明 
    這里寫圖片描述

  4. 創建菜單

    這里寫圖片描述

注意: 
1、自定義菜單最多包括3個一級菜單,每個一級菜單最多包含5個二級菜單。 2、一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分將會以“...”代替。 3、創建自定義菜單后,由於微信客戶端緩存,需要24小時微信客戶端才會展現出來。

 

三、消息處理

 對消息的監聽操作,要放置到最初配置URL的服務器中進行操作。判斷是事件還是信息。

 

1. 消息監聽

<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>

 

這里寫圖片描述 
2. 事件監聽

    點擊菜單拉取消息時的事件推送 

 

推送XML數據包示例:

<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[CLICK]]></Event> <EventKey><![CDATA[EVENTKEY]]></EventKey> </xml>

 

獲取菜單點擊事件

四、獲取openID

 用戶向公眾號發送消息時,公眾號方收到的消息發送者是一個OpenID,是使用用戶微信號加密后的結果,每個用戶對每個公眾號有一個唯一的OpenID。

 

消息返回參數如下: 
消息參數列表

解析XML,並獲取OpenID:

獲取OpenID


免責聲明!

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



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