微信公眾賬號開發(fā)的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“微信公眾賬號開發(fā)的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信公眾賬號開發(fā)的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)專業(yè)提供成都機柜租用服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買成都機柜租用服務(wù),并享受7*24小時金牌售后服務(wù)。

微信公眾賬號開發(fā)教程

基本原理

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

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

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

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

通信協(xié)議為:HTTP

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

具體的流程如下圖所示:

微信公眾賬號開發(fā)的示例分析

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

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

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

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

具體的應(yīng)用步驟:

1、注冊公眾賬號

注冊地址:http://mp.weixin.qq.com/

1)首先需要郵箱注冊:

微信公眾賬號開發(fā)的示例分析

2)郵箱激活。郵箱將會收到激活郵件,點擊激活鏈接即可。

3)需要登記個人信息。這里需要提供一些個人信息或者單位信息。

現(xiàn)在個人只允許注冊訂閱號,公司單位才能注冊服務(wù)號,服務(wù)號比訂閱號,功能更多,可以實現(xiàn)自定義菜單。

需要提供的信息,主要有身份證號碼、本人手持身份證的照片,如果是單位注冊,還需要單位注冊號、營業(yè)執(zhí)照及法人身份證及照片,感覺這個比較變態(tài)。哪個老總愿意讓你給他和他的身份證合張影呢?

注意:

同一個手機號或同一個身份證號只允許注冊兩個微信公眾平臺賬號。

個人信息登記:

微信公眾賬號開發(fā)的示例分析

企業(yè)用戶

企業(yè)用戶上面的個人信息也要填寫的,只是運營者的個人信息。

微信公眾賬號開發(fā)的示例分析

政府媒體

微信公眾賬號開發(fā)的示例分析

4)輸入公眾賬號相關(guān)信息了。

在輸入公眾號的名稱和描述時要注意,公眾賬號的名稱是不能編輯的,一旦提交,再不能改,一定要慎重。

注冊需要7天內(nèi)審核。具體的注冊步驟這里不再贅述。

微信公眾賬號開發(fā)的示例分析

2、完善資料

如果審核通過,可以進行下一步的工作了。如何將我們的服務(wù)綁定到公眾賬號呢?

主要是上傳頭像,也可以修改描述信息。不過注意,一個月只能修改一次。 所以,在做一個新的應(yīng)用時,一定要等到,需求已定,UE也設(shè)計好了圖標(biāo)再處理。

如有修改,只能等一個月了。

3、成為開發(fā)者:

首先關(guān)閉編輯模式,開啟開發(fā)模式

微信公眾賬號開發(fā)的示例分析

這里真正可以綁定我們自己的服務(wù)器了。

綁定服務(wù)地址和token,服務(wù)器地址必須是公網(wǎng)IP,其端口要使用80

token值盡量復(fù)雜一點,一旦被人破解,很可能被人利用。

因為,在初次訪問服務(wù)器的時候,需要一次身份驗證,這時需要token。而且一經(jīng)驗證成功,今后不再驗證。

公眾平臺消息接口為開發(fā)者提供了一種新的消息處理方式。

消息接口(官方文檔)

申請消息接口

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

網(wǎng)址接入

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

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

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

signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。

加密/校驗流程:
1. 將token、timestamp、nonce三個參數(shù)進行字典序排序
2. 將三個參數(shù)字符串拼接成一個字符串進行sha1加密
3. 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識該請求來源于微信

消息推送

當(dāng)普通微信用戶向公眾賬號發(fā)消息時,微信服務(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ā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgTypetext
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ā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgTypeimage
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ā)者微信號
FromUserName發(fā)送方帳號(一個OpenID)
CreateTime消息創(chuàng)建時間 (整型)
MsgTypelocation
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[公眾平臺官網(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)注事件推送。其余功能即將開放,敬請期待。

<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),對該消息進行響應(yīng)(現(xiàn)支持回復(fù)文本、圖文、語音、視頻、音樂)。

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

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

回復(fù)文本消息

 <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)建時間
MsgTypetext
Content回復(fù)的消息內(nèi)容,長度不超過2048字節(jié)

回復(fù)音樂消息

 <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)建時間
MsgTypemusic
MusicUrl音樂鏈接
HQMusicUrl高質(zhì)量音樂鏈接,WIFI環(huán)境優(yōu)先使用該鏈接播放音樂

回復(fù)圖文消息

 <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)建時間
MsgTypenews
ArticleCount圖文消息個數(shù),限制為10條以內(nèi)
Articles多條圖文消息信息,默認第一個item為大圖
Title圖文消息標(biāo)題
Description圖文消息描述
PicUrl圖片鏈接,支持JPG、PNG格式,較好的效果為大圖640*320,小圖80*80。
Url點擊圖文消息跳轉(zhuǎn)鏈接

注意事項

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

2.請使用80端口

以上是“微信公眾賬號開發(fā)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁標(biāo)題:微信公眾賬號開發(fā)的示例分析-創(chuàng)新互聯(lián)
文章來源:http://bm7419.com/article48/gejhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)網(wǎng)站設(shè)計公司、App開發(fā)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化