整個訊息通訊流程如下圖:
上述5個步驟中,作為開發者我們主要精力都集中在步驟3上,這個步驟主實際上要有3項任務:
接收來自2的xml資訊
伺服器內部邏輯執行
組織並返回用於4的xml資訊
上述三項任務我會在後面做詳細說明,並提供一整套簡單、高效的處理方法。
**訊息xml格式
xml version="1.0" encoding="utf-8"對應節點的官方說明如下:?>
<
xml>
<
tousername
>
gh_a96a4a619366
]]>
tousername
>
<
fromusername
>
olpjzjsxuqpjov0hlruzknzkc91e
]]>
fromusername
>
<
createtime
>1357986928
createtime
>
<
msgtype
>
text
]]>
msgtype
>
<
content
>
中文]]>
content
>
<
msgid
>5832509444155992350
msgid
>
xml>
引數描述
tousername
fromusername
傳送方帳號(乙個openid)
createtime
訊息建立時間 (整型)
msgtype
text
content
文字訊息內容
msgid
訊息id,64位整型
返回訊息xml格式
xml version="1.0" encoding="utf-8"對應節點的官方說明如下:?>
<
xml>
<
tousername
>
olpjzjsxuqpjov0hlruzknzkc91e
]]>
tousername
>
<
fromusername
>
gh_a96a4a619366
]]>
fromusername
>
<
createtime
>63497820384
createtime
>
<
msgtype
>text
msgtype
>
<
content
>
您剛才傳送了文字資訊:中文
//您還可以傳送【位置】【】【語音】資訊,檢視不同格式的回覆。
]]>
content
>
xml>
引數描述
tousername
接收方帳號(收到的openid)
fromusername
createtime
訊息建立時間
msgtype
text
content
回覆的訊息內容,長度不超過2048位元組
funcflag
位0x0001被標誌時,星標剛收到的訊息。
每條xml資訊都有大小限制,如文字資訊,建議content內容不要超過600字。
createtime使用的是unix時間,因此如果使用c#的話,需要做乙個轉換。
由於這種特殊的通訊方式,(至少目前為止)所有請求必須從客戶端先發起,不要指望光使用api或sdk可以實現由**伺服器主動推送訊息到客戶端(當然其他辦法還是有的,比如模擬登陸)。
案例原始碼
微信公眾平台開發歷程(三)
1 scope snsapi base,相當於靜默授權,意思是直接授權成功會跳到頁面,使用者看不出來授權。2 scope snsapi userinfo,可以獲取更多的使用者資訊,需要使用者手動同意。官方授權流程 我們的非靜默授權操作流程 我們先解析一下這個url 2 引數redirect uri ...
微信公眾平台開發(一) 接入微信公眾平台
一 接入流程分析參考官方文件 參考文件接入概述分別由以下幾部分完成 1 填寫伺服器配置 2 驗證伺服器位址的有效性 3 依據介面文件實現業務邏輯 按照流程第一部是先填寫伺服器配置,但是我們通常都是先做第二步 編寫 驗證伺服器位址的有效性 controller的寫法 restcontroller pu...
微信公眾平台開發概述
請開發者注意 4 每個介面都有每日介面呼叫頻次限制,可以在公眾平台官網 開發者中心處檢視具體頻次。5 在開發出現問題時,可以通過介面呼叫的返回碼,以及報警排查指引 在公眾平台官網 開發者中心處可以設定介面報警 來發現和解決問題。6 公眾平台以access token為介面呼叫憑據,來呼叫介面,所有介...