Bevor Sie beginnen, sind Sie vielleicht sehr daran interessiert, aber ratlos. Ist es kompliziert? Ist es schwer zu lernen?
Eigentlich ist es genau das Gegenteil, es ist ganz einfach. Um alle Bedenken auszuräumen, stelle ich zunächst kurz die Grundprinzipien der öffentlichen WeChat-Plattform vor.
Der WeChat-Server entspricht einem Weiterleitungsserver. Das Endgerät (Mobiltelefon, Pad usw.) initiiert eine Anfrage an den WeChat-Server und der WeChat-Server leitet die Anfrage dann an den benutzerdefinierten Dienst weiter (dies ist). unserer konkreten Umsetzung).
Nachdem der Dienst verarbeitet wurde, wird er auf den WeChat-Server verdampft und der WeChat-Server antwortet dann mit einer spezifischen Antwort an das Terminal.
Das Kommunikationsprotokoll ist: HTTP
Das Datenformat ist: XML
Der spezifische Prozess ist wie in der folgenden Abbildung dargestellt:
Eigentlich müssen wir auf HTTP-Anfragen antworten.
Wir analysieren den spezifischen Anforderungsinhalt gemäß einem bestimmten XML-Format. Nach der Verarbeitung geben wir ihn auch gemäß einem bestimmten XML-Format zurück.
Wir benötigen nur eine einfache Implementierung von HttpHandler.
Natürlich kann die WeChat-Plattform auch komplexere Geschäfte implementieren. Beispielsweise kann WeChat als eingebetteter Browser verwendet werden. Wir können die HTM-Schnittstelle über den WeChat-Link öffnen und unsere eigene Logik implementieren.
Registrierungsadresse: http://mp.weixin.qq.com/
1 ) Zuerst müssen Sie sich per E-Mail registrieren:
2) E-Mail-Aktivierung. Sie erhalten eine Aktivierungs-E-Mail in Ihrem Postfach. Klicken Sie einfach auf den Aktivierungslink.
3) Persönliche Daten müssen registriert werden. Hier müssen Sie einige persönliche Daten oder organisatorische Informationen angeben.
Nur Einzelpersonen dürfen nur Abonnementkonten registrieren, und Unternehmen können Dienstkonten registrieren. Dienstkonten haben mehr Funktionen als Abonnementkonten und können benutzerdefinierte Menüs implementieren.
Die anzugebenden Informationen umfassen im Wesentlichen die Ausweisnummer und das Foto der Person, die den Ausweis besitzt. Handelt es sich um eine Firmenregistrierung, die Firmenregistrierungsnummer, die Gewerbelizenz und den Ausweis einer juristischen Person sowie ein Foto sind auch erforderlich. Ich finde, das ist etwas ungewöhnlich. Welcher Chef ist bereit, sich mit ihm und seinem Personalausweis fotografieren zu lassen?
Hinweis:
Es dürfen nur zwei öffentliche WeChat-Plattformkonten mit derselben Mobiltelefonnummer oder derselben ID-Nummer registriert werden.
Registrierung persönlicher Daten:
Unternehmensbenutzer
Die oben genannten persönlichen Daten für Unternehmensbenutzer müssen ebenfalls ausgefüllt werden, nur die des Betreibers Persönliche Informationen.
Regierungsmedien
4) Geben Sie die Informationen zum öffentlichen Konto ein.
Bitte beachten Sie bei der Eingabe des Namens und der Beschreibung des offiziellen Kontos, dass der Name des offiziellen Kontos nicht bearbeitet werden kann. Nach der Übermittlung kann er nicht mehr geändert werden. Seien Sie also vorsichtig.
Die Registrierung muss innerhalb von 7 Tagen überprüft werden. Die konkreten Registrierungsschritte werden hier nicht beschrieben.
Wenn die Überprüfung bestanden wurde, können Sie mit dem nächsten Schritt fortfahren. Wie können wir unsere Dienste an öffentliche Konten binden?
Hauptsächlich Avatar hochladen, Sie können auch die Beschreibungsinformationen ändern. Bitte beachten Sie jedoch, dass Sie es nur einmal im Monat ändern können. Daher müssen Sie bei der Einreichung eines neuen Antrags mit der Bearbeitung warten, bis die Anforderungen ermittelt wurden und das UE das Symbol entworfen hat.
Bei Änderungen können Sie nur einen Monat warten.
3. Werden Sie Entwickler:
Schalten Sie zunächst den Bearbeitungsmodus aus und schalten Sie den Entwicklungsmodus ein
Hier können wir tatsächlich binden Unser eigener Server.
Binden Sie die Dienstadresse und das Token. Die Serveradresse muss eine öffentliche IP sein und der Port muss 80 sein
Der Wert des Tokens sollte so komplex wie möglich sein. Sobald er geknackt ist, ist es wahrscheinlich, dass er von anderen verwendet wird.
Denn beim ersten Zugriff auf den Server ist eine Identitätsprüfung erforderlich und ein Token erforderlich. Und sobald die Verifizierung erfolgreich war, wird sie in Zukunft nicht mehr verifiziert.
Die Nachrichtenschnittstelle der öffentlichen Plattform bietet Entwicklern eine neue Möglichkeit, Nachrichten zu verarbeiten.
Klicken Sie auf „Übernehmen“ und geben Sie die URL und das Token ein, um ein zu generieren Unterschrift.
Nachdem der Benutzer der öffentlichen Plattform die Informationen übermittelt hat, sendet der WeChat-Server eine GET-Anfrage an die ausgefüllte URL mit vier Parametern:
参数 | 描述 |
---|---|
signature | 微信加密签名 |
timestamp | 时间戳 |
nonce | 随机数 |
echostr | 随机字符串 |
Entwickler überprüfen die Anfrage, indem sie die Signatur überprüfen (Überprüfungsmethoden sind unten aufgeführt). Wenn bestätigt wird, dass diese GET-Anfrage vom WeChat-Server stammt, geben Sie bitte den Inhalt des Echostr-Parameters unverändert zurück, dann wird der Zugriff wirksam, andernfalls schlägt der Zugriff fehl.
Signatur kombiniert den vom Entwickler eingegebenen Token-Parameter mit dem Zeitstempel-Parameter und dem Nonce-Parameter in der Anfrage.
加密/校验流程: 1. 将token、timestamp、nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密 3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
Wenn ein normaler WeChat-Benutzer eine Nachricht an ein öffentliches Konto sendet, sendet der WeChat-Server die Nachricht an die ausgefüllte URL. Der Aufbau ist wie folgt:
<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 | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | text |
Content | 文本消息内容 |
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>
参数 | 描述 |
---|---|
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
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>
参数 | 描述 |
---|---|
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | location |
Location_X | 地理位置纬度 |
Location_Y | 地理位置经度 |
Scale | 地图缩放大小 |
Label | 地理位置信息 |
MsgId | 消息id,64位整型 |
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1351776360</CreateTime> <MsgType><![CDATA[link]]></MsgType> <Title><![CDATA[公众平台官网链接]]></Title> <Description><![CDATA[公众平台官网链接]]></Description> <Url><![CDATA[url]]></Url> <MsgId>1234567890123456</MsgId> </xml>
参数 | 描述 |
---|---|
ToUserName | 接收方微信号 |
FromUserName | 发送方微信号,若为普通用户,则是一个OpenID |
CreateTime | 消息创建时间 |
MsgType | 消息类型,link |
Title | 消息标题 |
Description | 消息描述 |
Url | 消息链接 |
MsgId | 消息id,64位整型 |
事件推送只支持微信4.5版本,目前开启自定义菜单接口事件推送、关注与取消关注事件推送。其余功能即将开放,敬请期待。
<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>
参数 | 描述 |
---|---|
ToUserName | 接收方微信号 |
FromUserName | 发送方微信号,若为普通用户,则是一个OpenID |
CreateTime | 消息创建时间 |
MsgType | 消息类型,event |
Event | 事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件) |
EventKey | 事件KEY值,与自定义菜单接口中KEY值对应 |
对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐)。
微信服务器在五秒内收不到响应会断掉连接。
回复xml结构如下:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[content]]></Content> </xml>
参数 | 描述 |
---|---|
ToUserName | 接收方帐号(收到的OpenID) |
FromUserName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | text |
Content | 回复的消息内容,长度不超过2048字节 |
<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>
参数 | 描述 |
---|---|
ToUserName | 接收方帐号(收到的OpenID) |
FromUserName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | music |
MusicUrl | 音乐链接 |
HQMusicUrl | 高质量音乐链接,WIFI环境优先使用该链接播放音乐 |
<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>
参数 | 描述 |
---|---|
ToUserName | 接收方帐号(收到的OpenID) |
FromUserName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | news |
ArticleCount | 图文消息个数,限制为10条以内 |
Articles | 多条图文消息信息,默认第一个item为大图 |
Title | 图文消息标题 |
Description | 图文消息描述 |
PicUrl | 图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80。 |
Url | 点击图文消息跳转链接 |
1.用户OpenID对一个公众号是固定唯一的串
2.请使用80端口
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Grundprinzipien der Entwicklung und Registrierung öffentlicher WeChat-Konten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!