這篇文章主要為大家展示了“微信公眾賬號(hào)開發(fā)的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信公眾賬號(hào)開發(fā)的示例分析”這篇文章吧。
創(chuàng)新互聯(lián)專業(yè)提供成都機(jī)柜租用服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買成都機(jī)柜租用服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。在開始做之前,大家可能對(duì)這個(gè)很感興趣,但是又比較茫然。是不是很復(fù)雜?很難學(xué)?。?/p>
其實(shí)恰恰相反,很簡(jiǎn)單。為了打消大家的顧慮,先簡(jiǎn)單介紹了微信公眾平臺(tái)的基本原理。
微信服務(wù)器就相當(dāng)于一個(gè)轉(zhuǎn)發(fā)服務(wù)器,終端(手機(jī)、Pad等)發(fā)起請(qǐng)求至微信服務(wù)器,微信服務(wù)器,然后將請(qǐng)求轉(zhuǎn)發(fā)給自定義服務(wù)(這就里就是我們的具體實(shí)現(xiàn))。
服務(wù)處理完畢,然后揮發(fā)給微信服務(wù)器,微信服務(wù)器再將具體響應(yīng)回復(fù)到終端。
通信協(xié)議為:HTTP
數(shù)據(jù)格式為:XML
具體的流程如下圖所示:
其實(shí),我們需要做的事情,就是對(duì)HTTP請(qǐng)求,做出響應(yīng)。
具體的請(qǐng)求內(nèi)容,我們按照特定的XML格式去解析,處理完畢后,也要按照特定的XML格式返回。
我們只需要一個(gè)簡(jiǎn)單的實(shí)現(xiàn)HttpHandler即可。
當(dāng)然,微信平臺(tái)還能實(shí)現(xiàn)更加復(fù)雜的業(yè)務(wù),比如微信可以作為內(nèi)嵌的瀏覽器,我們可以通過微信的鏈接,打開htm界面,然后實(shí)現(xiàn)自己的邏輯。
注冊(cè)地址:http://mp.weixin.qq.com/
1)首先需要郵箱注冊(cè):
2)郵箱激活。郵箱將會(huì)收到激活郵件,點(diǎn)擊激活鏈接即可。
3)需要登記個(gè)人信息。這里需要提供一些個(gè)人信息或者單位信息。
現(xiàn)在個(gè)人只允許注冊(cè)訂閱號(hào),公司單位才能注冊(cè)服務(wù)號(hào),服務(wù)號(hào)比訂閱號(hào),功能更多,可以實(shí)現(xiàn)自定義菜單。
需要提供的信息,主要有身份證號(hào)碼、本人手持身份證的照片,如果是單位注冊(cè),還需要單位注冊(cè)號(hào)、營(yíng)業(yè)執(zhí)照及法人身份證及照片,感覺這個(gè)比較變態(tài)。哪個(gè)老總愿意讓你給他和他的身份證合張影呢?
注意:
同一個(gè)手機(jī)號(hào)或同一個(gè)身份證號(hào)只允許注冊(cè)兩個(gè)微信公眾平臺(tái)賬號(hào)。
個(gè)人信息登記:
企業(yè)用戶
企業(yè)用戶上面的個(gè)人信息也要填寫的,只是運(yùn)營(yíng)者的個(gè)人信息。
政府媒體
4)輸入公眾賬號(hào)相關(guān)信息了。
在輸入公眾號(hào)的名稱和描述時(shí)要注意,公眾賬號(hào)的名稱是不能編輯的,一旦提交,再不能改,一定要慎重。
注冊(cè)需要7天內(nèi)審核。具體的注冊(cè)步驟這里不再贅述。
如果審核通過,可以進(jìn)行下一步的工作了。如何將我們的服務(wù)綁定到公眾賬號(hào)呢?
主要是上傳頭像,也可以修改描述信息。不過注意,一個(gè)月只能修改一次。 所以,在做一個(gè)新的應(yīng)用時(shí),一定要等到,需求已定,UE也設(shè)計(jì)好了圖標(biāo)再處理。
如有修改,只能等一個(gè)月了。
3、成為開發(fā)者:
首先關(guān)閉編輯模式,開啟開發(fā)模式
這里真正可以綁定我們自己的服務(wù)器了。
綁定服務(wù)地址和token,服務(wù)器地址必須是公網(wǎng)IP,其端口要使用80
token值盡量復(fù)雜一點(diǎn),一旦被人破解,很可能被人利用。
因?yàn)?,在初次訪問服務(wù)器的時(shí)候,需要一次身份驗(yàn)證,這時(shí)需要token。而且一經(jīng)驗(yàn)證成功,今后不再驗(yàn)證。
公眾平臺(tái)消息接口為開發(fā)者提供了一種新的消息處理方式。
點(diǎn)擊申請(qǐng),填寫網(wǎng)址url和token,其中token可由開發(fā)者可以任意填寫,用作生成簽名。
公眾平臺(tái)用戶提交信息后,微信服務(wù)器將發(fā)送GET請(qǐng)求到填寫的URL上,并且?guī)纤膫€(gè)參數(shù):
參數(shù) | 描述 |
---|---|
signature | 微信加密簽名 |
timestamp | 時(shí)間戳 |
nonce | 隨機(jī)數(shù) |
echostr | 隨機(jī)字符串 |
開發(fā)者通過檢驗(yàn)signature對(duì)請(qǐng)求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請(qǐng)求來自微信服務(wù)器,請(qǐng)?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,否則接入失敗。
signature結(jié)合了開發(fā)者填寫的token參數(shù)和請(qǐng)求中的timestamp參數(shù)、nonce參數(shù)。
加密/校驗(yàn)流程: 1. 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序 2. 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密 3. 開發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來源于微信
當(dāng)普通微信用戶向公眾賬號(hào)發(fā)消息時(shí),微信服務(wù)器將POST該消息到填寫的URL上。結(jié)構(gòu)如下:
<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ā)者微信號(hào) |
FromUserName | 發(fā)送方帳號(hào)(一個(gè)OpenID) |
CreateTime | 消息創(chuàng)建時(shí)間 (整型) |
MsgType | text |
Content | 文本消息內(nèi)容 |
MsgId | 消息id,64位整型 |
<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ā)者微信號(hào) |
FromUserName | 發(fā)送方帳號(hào)(一個(gè)OpenID) |
CreateTime | 消息創(chuàng)建時(shí)間 (整型) |
MsgType | image |
PicUrl | 圖片鏈接 |
MsgId | 消息id,64位整型 |
<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ā)者微信號(hào) |
FromUserName | 發(fā)送方帳號(hào)(一個(gè)OpenID) |
CreateTime | 消息創(chuàng)建時(shí)間 (整型) |
MsgType | location |
Location_X | 地理位置緯度 |
Location_Y | 地理位置經(jīng)度 |
Scale | 地圖縮放大小 |
Label | 地理位置信息 |
MsgId | 消息id,64位整型 |
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1351776360</CreateTime> <MsgType><![CDATA[link]]></MsgType> <Title><![CDATA[公眾平臺(tái)官網(wǎng)鏈接]]></Title> <Description><![CDATA[公眾平臺(tái)官網(wǎng)鏈接]]></Description> <Url><![CDATA[url]]></Url> <MsgId>1234567890123456</MsgId> </xml>
參數(shù) | 描述 |
---|---|
ToUserName | 接收方微信號(hào) |
FromUserName | 發(fā)送方微信號(hào),若為普通用戶,則是一個(gè)OpenID |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | 消息類型,link |
Title | 消息標(biāo)題 |
Description | 消息描述 |
Url | 消息鏈接 |
MsgId | 消息id,64位整型 |
事件推送只支持微信4.5版本,目前開啟自定義菜單接口事件推送、關(guān)注與取消關(guān)注事件推送。其余功能即將開放,敬請(qǐng)期待。
<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 | 接收方微信號(hào) |
FromUserName | 發(fā)送方微信號(hào),若為普通用戶,則是一個(gè)OpenID |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | 消息類型,event |
Event | 事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)、CLICK(自定義菜單點(diǎn)擊事件) |
EventKey | 事件KEY值,與自定義菜單接口中KEY值對(duì)應(yīng) |
對(duì)于每一個(gè)POST請(qǐng)求,開發(fā)者在響應(yīng)包中返回特定xml結(jié)構(gòu),對(duì)該消息進(jìn)行響應(yīng)(現(xiàn)支持回復(fù)文本、圖文、語音、視頻、音樂)。
微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會(huì)斷掉連接。
回復(fù)xml結(jié)構(gòu)如下:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[content]]></Content> </xml>
參數(shù) | 描述 |
---|---|
ToUserName | 接收方帳號(hào)(收到的OpenID) |
FromUserName | 開發(fā)者微信號(hào) |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | text |
Content | 回復(fù)的消息內(nèi)容,長(zhǎng)度不超過2048字節(jié) |
<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 | 接收方帳號(hào)(收到的OpenID) |
FromUserName | 開發(fā)者微信號(hào) |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | music |
MusicUrl | 音樂鏈接 |
HQMusicUrl | 高質(zhì)量音樂鏈接,WIFI環(huán)境優(yōu)先使用該鏈接播放音樂 |
<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 | 接收方帳號(hào)(收到的OpenID) |
FromUserName | 開發(fā)者微信號(hào) |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | news |
ArticleCount | 圖文消息個(gè)數(shù),限制為10條以內(nèi) |
Articles | 多條圖文消息信息,默認(rèn)第一個(gè)item為大圖 |
Title | 圖文消息標(biāo)題 |
Description | 圖文消息描述 |
PicUrl | 圖片鏈接,支持JPG、PNG格式,較好的效果為大圖640*320,小圖80*80。 |
Url | 點(diǎn)擊圖文消息跳轉(zhuǎn)鏈接 |
1.用戶OpenID對(duì)一個(gè)公眾號(hào)是固定的串
2.請(qǐng)使用80端口
以上是“微信公眾賬號(hào)開發(fā)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁(yè)標(biāo)題:微信公眾賬號(hào)開發(fā)的示例分析-創(chuàng)新互聯(lián)
文章來源:http://m.rwnh.cn/article48/gejhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、App開發(fā)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容