1. 基本原則
始める前は、これにとても興味があるかもしれませんが、迷ってしまいます。複雑ですか?學(xué)ぶのは難しいですか?
実際はその逆で、とてもシンプルです。皆さんの懸念を払拭するために、まず WeChat パブリック プラットフォームの基本原則を簡単に紹介します。
WeChat サーバーは転送サーバーに相當(dāng)します。端末 (攜帯電話、Pad など) は WeChat サーバーへのリクエストを開始し、WeChat サーバーはそのリクエストをカスタム サービスに転送します (これは私たちの特定の実裝です)。 。
サービスが処理された後、それは WeChat サーバーに蒸発され、WeChat サーバーは特定の応答を端末に返します。
通信プロトコルは: HTTP
データ形式は: XML
具體的なプロセスは次の図に示すとおりです:
実際に行う必要があるのは、HTTP リクエストに応答することです。
特定の XML 形式に従って特定のリクエストのコンテンツを解析し、処理した後、それを特定の XML 形式に従って返す必要があります。
必要なのは HttpHandler の簡単な実裝だけです。
もちろん、WeChat プラットフォームはより複雑なビジネスを?qū)g裝することもできます。たとえば、WeChat リンクを介して htm インターフェイスを開き、獨(dú)自のロジックを?qū)g裝することもできます。
2. メッセージインターフェース (公式ドキュメント)
メッセージインターフェースを申請します
[適用] をクリックし、URL とトークンを入力します。トークンは開発者が任意に入力し、トークンを生成するために使用できます。サイン。
ウェブサイトへのアクセス
パブリックプラットフォームユーザーが情報(bào)を送信すると、WeChatサーバーは、次の4つのパラメータを指定して、入力されたURLにGETリクエストを送信します:
Parameters | Description |
---|---|
signature | WeChat暗號(hào)化署名 |
タイムスタンプ | タイムスタンプ |
nonce | 亂數(shù) |
echostr | ランダム文字列 |
リクエストを検証して署名をチェックします 検証を?qū)g行します (下記) 検証方法)。この GET リクエストが WeChat サーバーからのものであることが確認(rèn)された場合は、echostr パラメータの內(nèi)容をそのまま返すとアクセスが有効になります。それ以外の場合はアクセスが失敗します。
signature は、開発者によって入力されたトークンパラメータと、リクエスト內(nèi)のタイムスタンプパラメータおよびノンスパラメータを組み合わせます。
加密/校驗(yàn)流程: 1. 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序 2. 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密 3. 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識(shí)該請求來源于微信
メッセージプッシュ
一般の WeChat ユーザーが公開アカウントにメッセージを送信すると、WeChat サーバーは入力された URL にメッセージを POST します。構(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>
パラメータ | 説明 |
---|---|
ToUserName | 開発者WeChat ID |
FromUserName | 送信者アカウント (OpenID) |
CreateTime | メッセージ作成時(shí)刻 (整數(shù)) |
MsgType | text |
Content | テキストメッセージの內(nèi)容 |
MsgId | メッセージID、64ビット整數(shù) |
ピクチャーメッセージ
<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>
パラメータ | 説明 |
---|---|
ToUserName | 開発者WeChat ID |
FromUserName | 送信者アカウント(OpenID) |
CreateTime | メッセージ作成時(shí)間 (タイプ全體) |
MsgType | image |
PicUrl | 畫像リンク |
MsgId | メッセージID、64ビット整數(shù)型 |
地理位置情報(bào)メッセージ
<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>
パラメータ | 説明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ToUserName | DeveloperWeChat ID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FromUserName | 送信者アカウント(OpenID) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreateTime | メッセージ作成時(shí)刻(整數(shù)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
メッセージタイプ | 場所 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Location_ | 地理位置情報(bào)|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
メッセージID、64ビット整數(shù)型 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
參數(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)注事件推送。其余功能即將開放,敬請期待。
<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值對應(yīng) |
消息回復(fù)
對于每一個(gè)POST請求,開發(fā)者在響應(yīng)包中返回特定xml結(jié)構(gòu),對該消息進(jìn)行響應(yīng)(現(xiàn)支持回復(fù)文本、圖文、語音、視頻、音樂)。
微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會(huì)斷掉連接。
回復(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 | 接收方帳號(hào)(收到的OpenID) |
FromUserName | 開發(fā)者微信號(hào) |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | text |
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 | 接收方帳號(hào)(收到的OpenID) |
FromUserName | 開發(fā)者微信號(hào) |
CreateTime | 消息創(chuàng)建時(shí)間 |
MsgType | music |
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 | 接收方帳號(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)鏈接 |
官方接口文檔:
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
注意事項(xiàng)
1.用戶OpenID對一個(gè)公眾號(hào)是固定唯一的串
2.請使用80端口
盡請關(guān)注:后續(xù)我們將全面講解具體的開發(fā)過程。
三、消息類圖
?
更多WeChatパブリックプラットフォームの開発とメッセージ受信の基本原則相關(guān)文章請關(guān)注PHP中文網(wǎng)!

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)