麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

微信公眾平臺開發(三)

2019-11-14 13:46:33
字體:
來源:轉載
供稿:網友

一、微信公眾平臺消息交互流程

 作為開發者,我們需要面對的主要有兩個對象:微信服務器和應用程序(網站)服務器。

    當微信用戶向你的公眾平臺發送一條消息,實際上這條消息首先發送到微信服務器,由微信服務器向網站服務器發起另外一個請求,網站服務器返回這個請求的結果,再由微信服務器發送到微信客戶端。

    整個消息通訊流程如下圖:

    

    上述5個步驟中,作為開發者我們主要精力都集中在步驟3上,這個步驟主實際上要有3項任務:

  1. 接收來自2的xml信息
  2. 服務器內部邏輯執行
  3. 組織并返回用于4的XML信息

    上述三項任務我會在后面做詳細說明,并提供一整套簡單、高效的處理方法。

轉發消息XML格式

<?xml version="1.0" encoding="utf-8"?>    <xml>        <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName>        <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName>        <CreateTime>1357986928</CreateTime>        <MsgType><![CDATA[text]]></MsgType>        <Content><![CDATA[中文]]></Content>        <MsgId>5832509444155992350</MsgId>    </xml>    

對應節點的官方說明如下:

參數描述
ToUserName開發者微信號
FromUserName發送方帳號(一個OpenID)
CreateTime消息創建時間 (整型)
MsgTypetext
Content文本消息內容
MsgId消息id,64位整型

    

 

 

 

 

 

 

返回消息XML格式

<?xml version="1.0" encoding="utf-8"?>    <xml>        <ToUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></ToUserName>        <FromUserName><![CDATA[gh_a96a4a619366]]></FromUserName>        <CreateTime>63497820384</CreateTime>        <MsgType>text</MsgType>        <Content><![CDATA[您剛才發送了文字信息:中文        //您還可以發送【位置】【圖片】【語音】信息,查看不同格式的回復。        //SDK官方地址:http://weixin.senparc.com]]></Content>    </xml>    

對應節點的官方說明如下:

參數描述
ToUserName接收方帳號(收到的OpenID)
FromUserName開發者微信號
CreateTime消息創建時間
MsgTypetext
Content回復的消息內容,長度不超過2048字節
FuncFlag位0x0001被標志時,星標剛收到的消息。

 

 

 

 

 

 

 

一些需要注意和容易被忽視的問題:

  1. 每條XML信息都有大小限制,如文本信息,建議Content內容不要超過600字。
  2. 上圖中,步驟2開始之后,微信服務器有一個等待時間:5秒,如果在這個時間內沒有進行到步驟4,那么這個請求將會被關閉(包括數據傳輸的時間)。也就是說如果超過時間,即使網站服務器返回了數據,客戶端也無法收到回復。
  3. 在文本消息中,是允許添加<a>標簽來放置連接的,但是有許多朋友測試之后發現iOS沒問題,Android上鏈接無法點擊,其實原因是(至少目前為止):Android的微信客戶端對<a>標簽格式的判定比較嚴格,請嚴格按照這個格式書寫:<a href="http://xxxx">內容</a>,href后不要使用單引號,也不要添加其他屬性。
  4. 上面XML節點中的FromUserName即微信用戶的OpenId,對于同一個公眾賬號,這個OpenId的前6位是一致的,并且在整個公眾平臺的記錄中也是唯一的。也就是說同一個用戶關注了兩個不同的公眾賬號,他會有兩個不同的OpenId。
  5. CreateTime使用的是Unix時間,因此如果使用C#的話,需要做一個轉換。
  6. 盡量保持官方API中XML節點的順序,以前微信服務器是使用節點位置的方式讀取信息的(node[0]),而非節點名稱,現在這個問題似乎有好轉,不過還是要小心(¥&hellip;………&%&……)。
  7. 由于這種特殊的通訊方式,(至少目前為止)所有請求必須從客戶端先發起,不要指望光使用API或SDK可以實現由網站服務器主動推送消息到客戶端(當然其他辦法還是有的,比如模擬登陸)。

 

WeiXinMessageSDK 源碼下載  案例源碼


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级免费视频 | 亚洲人成网站在e线播放 | 99国产精品国产免费观看 | 成人毛片100部免费观看 | 亚洲影视中文字幕 | 亚洲一区成人在线 | 欧美三级短视频 | 国产精品野外av久久久 | 国产色妞影院wwwxxx | 亚洲爱爱网站 | 欧美一级在线看 | av电影在线网站 | 激情宗合 | 毛片大全| 国产毛片在线高清视频 | 欧美精品一区自拍a毛片在线视频 | 亚洲免费观看视频 | 女人裸体让男人桶全过程 | 亚洲精品aaaaa | 国产影院在线观看 | 中文字幕h | 国产午夜精品一区二区三区嫩草 | 性 毛片| 国产精品一区二区三区在线看 | 久久精品一二三区白丝高潮 | 欧美一区二区三区免费不卡 | 一区二区三区精品国产 | 草莓视频在线导航 | 亚洲福利在线视频 | h久久| 精品999久久久 | 中文字幕亚洲一区二区三区 | 69性欧美高清影院 | 香蕉久久久久久 | 国产在线欧美日韩 | 91精品国| 国产美女视频黄a视频免费 日韩黄色在线播放 | 久草在线视频网 | 成人免费毛片在线观看 | aa久久| 2017亚洲男人天堂 |