一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - 微信公眾平臺開發(fā)教程(二) 基本原理及消息接口總結(jié)

微信公眾平臺開發(fā)教程(二) 基本原理及消息接口總結(jié)

2020-04-06 12:23停留的風(fēng) ASP.NET教程

本篇文章主要介紹了微信公眾平臺開發(fā)教程(二) 基本原理及消息接口,具有一定的參考價值,有興趣的朋友可以了解一下。

一、基本原理

在開始做之前,大家可能對這個很感興趣,但是又比較茫然。是不是很復(fù)雜?很難學(xué)啊?

其實恰恰相反,很簡單。為了打消大家的顧慮,先簡單介紹了微信公眾平臺的基本原理。

微信服務(wù)器就相當(dāng)于一個轉(zhuǎn)發(fā)服務(wù)器,終端(手機(jī)、Pad等)發(fā)起請求至微信服務(wù)器,微信服務(wù)器,然后將請求轉(zhuǎn)發(fā)給自定義服務(wù)(這就里就是我們的具體實現(xiàn))。

服務(wù)處理完畢,然后揮發(fā)給微信服務(wù)器,微信服務(wù)器再將具體響應(yīng)回復(fù)到終端。

通信協(xié)議為:HTTP

數(shù)據(jù)格式為:XML

具體的流程如下圖所示:

微信公眾平臺開發(fā)教程(二) 基本原理及消息接口總結(jié)

其實,我們需要做的事情,就是對HTTP請求,做出響應(yīng)。

具體的請求內(nèi)容,我們按照特定的XML格式去解析,處理完畢后,也要按照特定的XML格式返回。

我們只需要一個簡單的實現(xiàn)HttpHandler即可。

當(dāng)然,微信平臺還能實現(xiàn)更加復(fù)雜的業(yè)務(wù),比如微信可以作為內(nèi)嵌的瀏覽器,我們可以通過微信的鏈接,打開htm界面,然后實現(xiàn)自己的邏輯。

 二、消息接口(官方文檔)

申請消息接口

點擊申請 ,填寫網(wǎng)址url和token,其中token可由開發(fā)者可以任意填寫,用作生成簽名。

網(wǎng)址接入

公眾平臺用戶提交信息后,微信服務(wù)器將發(fā)送GET請求到填寫的URL上,并且?guī)纤膫€參數(shù):

 

參數(shù) 描述
signature 微信加密簽名
timestamp 時間戳
nonce 隨機(jī)數(shù)
echostr 隨機(jī)字符串

 

開發(fā)者通過檢驗signature對請求進(jìn)行校驗(下面有校驗方式)。若確認(rèn)此次GET請求來自微信服務(wù)器,請原樣返回echostr參數(shù)內(nèi)容,則接入生效,否則接入失敗。

signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。
加密/校驗流程:

1. 將token、timestamp、nonce三個參數(shù)進(jìn)行字典序排序

2. 將三個參數(shù)字符串拼接成一個字符串進(jìn)行sha1加密

3. 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識該請求來源于微信 

消息推送

當(dāng)普通微信用戶向公眾賬號發(fā)消息時,微信服務(wù)器將POST該消息到填寫的URL上。結(jié)構(gòu)如下:

文本消息

?
1
2
3
4
5
6
7
8
<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>

 

參數(shù) 描述
ToUserName 開發(fā)者微信號
FromUserName 發(fā)送方帳號(一個OpenID)
CreateTime 消息創(chuàng)建時間 (整型)
MsgType text
Content 文本消息內(nèi)容
MsgId 消息id,64位整型

 

圖片消息

?
1
2
3
4
5
6
7
8
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[this is a url]]></PicUrl>
<MsgId>1234567890123456</MsgId>
</xml>

 

參數(shù) 描述
ToUserName 開發(fā)者微信號
FromUserName 發(fā)送方帳號(一個OpenID)
CreateTime 消息創(chuàng)建時間 (整型)
MsgType image
PicUrl 圖片鏈接
MsgId 消息id,64位整型

 

地理位置消息

?
1
2
3
4
5
6
7
8
9
10
11
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>23.134521</Location_X>
<Location_Y>113.358803</Location_Y>
<Scale>20</Scale>
<Label><![CDATA[位置信息]]></Label>
<MsgId>1234567890123456</MsgId>
</xml>

 

參數(shù) 描述
ToUserName 開發(fā)者微信號
FromUserName 發(fā)送方帳號(一個OpenID)
CreateTime 消息創(chuàng)建時間 (整型)
MsgType location
Location_X 地理位置緯度
Location_Y 地理位置經(jīng)度
Scale 地圖縮放大小
Label 地理位置信息
MsgId 消息id,64位整型

 

鏈接消息

?
1
2
3
4
5
6
7
8
9
10
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[公眾平臺官網(wǎng)鏈接]]></Title>
<Description><![CDATA[公眾平臺官網(wǎng)鏈接]]></Description>
<Url><![CDATA[url]]></Url>
<MsgId>1234567890123456</MsgId>
</xml>

 

參數(shù) 描述
ToUserName 接收方微信號
FromUserName 發(fā)送方微信號,若為普通用戶,則是一個OpenID
CreateTime 消息創(chuàng)建時間
MsgType 消息類型,link
Title 消息標(biāo)題
Description 消息描述
Url 消息鏈接
MsgId 消息id,64位整型

 

事件推送

事件推送只支持微信4.5版本,目前開啟自定義菜單接口事件推送、關(guān)注與取消關(guān)注事件推送。其余功能即將開放,敬請期待。

?
1
2
3
4
5
6
7
<xml><ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[EVENT]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>

 

參數(shù) 描述
ToUserName 接收方微信號
FromUserName 發(fā)送方微信號,若為普通用戶,則是一個OpenID
CreateTime 消息創(chuàng)建時間
MsgType 消息類型,event
Event 事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)、CLICK(自定義菜單點擊事件)
EventKey 事件KEY值,與自定義菜單接口中KEY值對應(yīng)

 

消息回復(fù)

對于每一個POST請求,開發(fā)者在響應(yīng)包中返回特定xml結(jié)構(gòu),對該消息進(jìn)行響應(yīng)(現(xiàn)支持回復(fù)文本、圖文、語音、視頻、音樂)。

微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會斷掉連接。

回復(fù)xml結(jié)構(gòu)如下:

回復(fù)文本消息

?
1
2
3
4
5
6
7
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[content]]></Content>
</xml>

 

參數(shù) 描述
ToUserName 接收方帳號(收到的OpenID)
FromUserName 開發(fā)者微信號
CreateTime 消息創(chuàng)建時間
MsgType text
Content 回復(fù)的消息內(nèi)容,長度不超過2048字節(jié)

 

回復(fù)音樂消息

?
1
2
3
4
5
6
7
8
9
10
11
12
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[TITLE]]></Title>
<Description><![CDATA[DESCRIPTION]]></Description>
<MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
<HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
</Music>
</xml>

 

參數(shù) 描述
ToUserName 接收方帳號(收到的OpenID)
FromUserName 開發(fā)者微信號
CreateTime 消息創(chuàng)建時間
MsgType music
MusicUrl 音樂鏈接
HQMusicUrl 高質(zhì)量音樂鏈接,WIFI環(huán)境優(yōu)先使用該鏈接播放音樂

 

回復(fù)圖文消息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>2</ArticleCount>
<Articles>
<item>
<Title><![CDATA[title1]]></Title>
<Description><![CDATA[description1]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
<item>
<Title><![CDATA[title]]></Title>
<Description><![CDATA[description]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
</Articles>
</xml>

 

參數(shù) 描述
ToUserName 接收方帳號(收到的OpenID)
FromUserName 開發(fā)者微信號
CreateTime 消息創(chuàng)建時間
MsgType news
ArticleCount 圖文消息個數(shù),限制為10條以內(nèi)
Articles 多條圖文消息信息,默認(rèn)第一個item為大圖
Title 圖文消息標(biāo)題
Description 圖文消息描述
PicUrl 圖片鏈接,支持JPG、PNG格式,較好的效果為大圖640*320,小圖80*80。
Url 點擊圖文消息跳轉(zhuǎn)鏈接

 

官方接口文檔:http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97

注意事項

1.用戶OpenID對一個公眾號是固定唯一的串

2.請使用80端口

盡請關(guān)注:后續(xù)我們將全面講解具體的開發(fā)過程。

三、消息類圖

微信公眾平臺開發(fā)教程(二) 基本原理及消息接口總結(jié)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/yank/p/3507326.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩毛片免费 | 日本高清中文字幕 | 精品日韩视频 | 四虎国产精品视频免费看 | 五月香婷 | 午夜免费无码福利视频麻豆 | 日韩在线a视频免费播放 | 福利片福利一区二区三区 | 99热精品在线播放 | 国产成人亚洲影视在线 | 欧美日韩在线观看精品 | 操一炮| 蜜桃影像传媒破解版 | 精品欧美一区二区在线观看欧美熟 | 国产精品 视频一区 二区三区 | melody中文字幕 | www.青青操 | chinesegay黑袜玩奴 | 九九爱这里只有精品 | a级毛片毛片免费观看永久 a级黄色片免费 | 高清国产在线观看 | 亚洲欧美色综合图小说 | 成年人视频在线免费观看 | 国产色司机在线视频免费观看 | 日韩视频在线精品视频免费观看 | 果冻传媒天美传媒在线小视频播放 | 亚洲黄色三级视频 | 精品亚洲综合在线第一区 | a亚洲天堂| 日本xxxx在线视频免费 | 免费欧美日韩 | 亚洲视频中文字幕 | 日韩性公交车上xxhd免费 | 91精品综合| 高清不卡一区二区 | 成人精品一区二区三区中文字幕 | 成人免费体验区福利云点播 | 欧美人交性视频在线香蕉 | 国产玖玖在线观看 | 久久久久夜 | 非洲黑女人性xxxx |