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

其中URL是開發者用來接收微信消息和事件的接口URL。Token可由開發者任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。
2. 驗證URL
開發者提交信息后,微信服務器將發送GET請求到填寫的服務器地址URL上,GET請求攜帶四個參數:

加密/校驗流程如下:
1. 將token、timestamp、nonce三個參數進行字典序排序 2. 將三個參數字符串拼接成一個字符串進行sha1加密 3. 開發者獲得加密后的字符串可與signature對比,標識該請求來源於微信
按照該流程,在上面填寫的服務器中,寫入如下驗證代碼:

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

二、創建菜單
-
新建菜單JSON文件,如下圖所示:

其中,button目錄下為以及菜單,sub_button下為二級菜單 -
獲取acxess_token
access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效 -

參數說明
-
創建菜單

注意:
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:

