微信API開(kāi)發(fā)自動(dòng)回復(fù)_第1頁(yè)
微信API開(kāi)發(fā)自動(dòng)回復(fù)_第2頁(yè)
微信API開(kāi)發(fā)自動(dòng)回復(fù)_第3頁(yè)
微信API開(kāi)發(fā)自動(dòng)回復(fù)_第4頁(yè)
微信API開(kāi)發(fā)自動(dòng)回復(fù)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

價(jià)值萬(wàn)元的微信課程(一)

名目

價(jià)值萬(wàn)元的微信課程(一).........................................................1

一、微信概述......................................................................3

1、歷史背景..................................................................3

2、微信公眾平臺(tái)..............................................................3

3、微信與微信公眾平臺(tái)區(qū)分....................................................3

4、為什么要學(xué)習(xí)微信開(kāi)發(fā)......................................................3

5、微信推舉..................................................................4

二、前期預(yù)備......................................................................4

1、微信公眾平臺(tái)注冊(cè)..........................................................4

2、微信公眾平臺(tái)賬號(hào)類型......................................................4

3、微信的兩種運(yùn)營(yíng)模式........................................................5

4、編輯模式中的自動(dòng)回復(fù)功能.................................................5

三、微信開(kāi)發(fā)者模式...............................................................6

1、微信開(kāi)發(fā)原理圖............................................................6

2、BAE(百度云引擎)預(yù)備....................................................6

3、微信服務(wù)器對(duì)接百度BAE................................................................................................8

4、開(kāi)啟自動(dòng)回復(fù)接口.........................................................11

四、API接口分析.................................................................11

1、定義微信的TOKEN密鑰,主要用于連接微信公眾平臺(tái)........................11

2、定義微信對(duì)象,用于調(diào)用微信相關(guān)方法,實(shí)現(xiàn)相關(guān)操作.......................11

3、驗(yàn)證接口(了解).........................................................12

4、自動(dòng)回復(fù)接口(重點(diǎn)).....................................................12

五、微信的6大接收接口..........................................................13

1、文本消息.................................................................13

2、圖片消息.................................................................14

3、其他消息.................................................................15

六、微信的3大回復(fù)接口..........................................................17

1、文本回復(fù)接口.............................................................17

案例:使用文木接口完成簡(jiǎn)易號(hào)碼簿...........................................18

2、音樂(lè)回復(fù)接口.............................................................20

3、圖文消息接口(重點(diǎn)).....................................................22

七、微信LBS接口................................................................25

1、什么是LBS......................................................................................................................25

2、為什么需要LBS..............................................................................................................25

3、LBS中的相關(guān)關(guān)鍵詞.......................................................25

4、分析微信中的LBS接口(地理位置接收接口)...............................26

5、使用變量接收地理位置的經(jīng)緯度信息........................................26

6、通過(guò)文本消息接口返回經(jīng)緯度信息..........................................2G

7、LBS第三方接口開(kāi)發(fā).......................................................27

八、微信的機(jī)器人開(kāi)發(fā)............................................................29

1、為什么需要微信機(jī)器人.....................................................29

2、目前主流的微信機(jī)器人.....................................................29

3、圖靈機(jī)器人開(kāi)發(fā)...........................................................29

、微信概述

1、歷史背景

1)2022年1月21日,騰訊推出微信(張小龍)

2)2022年8月20日,騰訊推出微信公眾平臺(tái)功能,同年11月開(kāi)放第三方接口

3)2022年1月微信突破3億,海外版wechat用戶也達(dá)到7000萬(wàn),以前和韓國(guó)客戶溝通也

是通過(guò)微信,可見(jiàn)微信已隨處不在

2、微信公眾平臺(tái)

微信公眾平臺(tái)是騰訊為了讓用戶申請(qǐng)和管理微信公眾賬號(hào)而推出的一個(gè)Web平臺(tái),而微信

公眾賬號(hào)的操作管理在這個(gè)平臺(tái)卜進(jìn)行。全部用戶都在騰訊供應(yīng)的統(tǒng)一微信公眾平臺(tái)卜進(jìn)行

相關(guān)操作:

平臺(tái)地址:

3、微信與微信公眾平臺(tái)區(qū)分

微信是基于點(diǎn)對(duì)點(diǎn)關(guān)系

微信公眾平臺(tái)是基于一對(duì)多關(guān)系

4、為什么要學(xué)習(xí)微信開(kāi)發(fā)

2022年6月速途討論院發(fā)布調(diào)查報(bào)告,22%的微信用戶在使用訂閱公眾帳號(hào)功能,而只算微

信有3億用戶,就約有6600多萬(wàn)用戶在使用微信公眾平臺(tái)功能。

5、微信推舉

名人媒體電商教育

二、前期預(yù)備

1、微信公眾平臺(tái)注冊(cè)

個(gè)人用戶注冊(cè):

預(yù)備彩色手持身份證照片

企業(yè)用戶預(yù)備:

營(yíng)業(yè)執(zhí)照注冊(cè)號(hào)、所在地、成立口期、營(yíng)業(yè)期限、經(jīng)營(yíng)范圍

微信公眾帳號(hào)名稱(中文名)?經(jīng)注冊(cè),不得修改,肯定要體現(xiàn)帳號(hào)特色又簡(jiǎn)潔記憶的名稱。

功能介紹每月1次

注冊(cè)勝利后,需要7個(gè)工作日進(jìn)行審核。

2、微信公眾平臺(tái)賬號(hào)類型

訂閱號(hào):個(gè)人用戶注冊(cè)的微信類型,適合自媒體類型的立臺(tái),每天可以群發(fā)一條信息,但是

假如沒(méi)有進(jìn)行微信認(rèn)證其是沒(méi)有微信自定義菜單的。

服務(wù)號(hào):企業(yè)注冊(cè)的微信類型,適合企業(yè)平臺(tái),每月可以群發(fā)四條信息,此外假如服務(wù)器沒(méi)

有通過(guò)微信認(rèn)證其也是具有微信自定義菜單的。

3、微信的兩種運(yùn)營(yíng)模式

?編輯模式與開(kāi)發(fā)模式

?兩種是互斥的

?編輯模式是平臺(tái)內(nèi)置的web系統(tǒng)

?開(kāi)發(fā)模式可以通過(guò)騰訊的API接口進(jìn)行二次開(kāi)發(fā)

1)編輯模式

微信?公眾平臺(tái)支筍天空網(wǎng)絡(luò)工作值■退出

旃發(fā)功能

新it階賽確己次送

為融?用戶體膾,的值公眾平臺(tái)產(chǎn)聶WWWXR胡3分享朋友的.產(chǎn)餐發(fā)布色皆低俗..力血JL*3育鼻法M吸相關(guān)依聞但%

息?一日發(fā)配,癡T將嚴(yán)后打擊町處理.

群疣為,群Ntm區(qū)

溺用戶sar

+淳加功慟wt

國(guó)陰文nw/期

G微值支行

澗鼻?理

+

fflPWS

從版材£中地壽

2)開(kāi)發(fā)者平臺(tái)

展旁骸玩否(已啟用)修改配置

停用歐蘇器配舌后,用戶消息和開(kāi)發(fā)者需要的事件推送,將不會(huì)核轉(zhuǎn)發(fā)到該URL中

URL(服務(wù)器地.址)httpy//api.php

Token(令牌)weixin

EncodingAESKey(消?W3空鑰0)Yvspi6TYpfUcRP92hjCrnxc4q8XyEnZv646ejhQCixE

消息加解。方式明文模式

4、編輯模式中的自動(dòng)回復(fù)功能

①被添加自動(dòng)回復(fù)(訂閱回復(fù)或關(guān)注回復(fù)):當(dāng)用戶關(guān)注我們的微信公眾平臺(tái)時(shí),系統(tǒng)會(huì)默

認(rèn)返回預(yù)先設(shè)定的內(nèi)容,我們把這個(gè)回復(fù)就稱之為〃被添加自動(dòng)回復(fù)“。

②關(guān)鍵詞自動(dòng)回復(fù):當(dāng)用戶輸入的關(guān)鍵詞與我們?cè)O(shè)定的關(guān)鍵詞相匹配時(shí),系統(tǒng)會(huì)自動(dòng)回復(fù)

預(yù)先設(shè)定的內(nèi)容,我們把這個(gè)回復(fù)就稱之為"關(guān)鍵詞自動(dòng)回復(fù)“。

③消息自動(dòng)回復(fù):當(dāng)用戶輸入的關(guān)鍵詞與我們?cè)O(shè)定的關(guān)鍵詞不匹配時(shí),系統(tǒng)會(huì)自動(dòng)回復(fù)預(yù)

先設(shè)定的內(nèi)容,我們把這個(gè)回復(fù)就稱之為''消息自動(dòng)回復(fù)“。

三、微信開(kāi)發(fā)者模式

1、微信開(kāi)發(fā)原理圖

1)編輯模式

5118公眾平臺(tái)“、美》

電0神直么?

內(nèi)!Sweb管理壬燎

2)開(kāi)發(fā)者模式

由上圖分析可知,假如想實(shí)現(xiàn)微信開(kāi)發(fā),必需要具有BAE服務(wù)器與客戶端SVN軟件

2、BAE(百度云引擎)預(yù)備

注冊(cè)地址:,打開(kāi)頁(yè)面后,選擇BAE基礎(chǔ)版,效果如下圖所示:

9*4t-4UR*Qa&M

.MiceBIB.cos.EF.RDS.scswra.

郭■列表

MS

。0

含稅AWD域名svNQTmn:

1)單擊添加部署

?名稱:

?類型:

.代碼版本工具:

”執(zhí)行單元個(gè)航:■>1(行足.

郊訃法餐:

2)設(shè)置完成后如下圖所示:

。o

名根APPIDg操作

w?txm?/*0

等待狀態(tài)轉(zhuǎn)變?yōu)檎?,代表已?jīng)創(chuàng)建勝利。

3)使用SVN軟件檢出在線的BAE代碼

+如0部百

□名標(biāo)APPIDtts域名

wetxin?正常flzwtixmduappcom

!appiddamhkulcxh

然后使用5VN軟件,檢出該地址,如下圖所示:

檢出過(guò)程中,需要供應(yīng)百度賬號(hào)和密碼,作為檢出密碼,謹(jǐn)記??!!

ram(D:)?server?apache?htdocs>weixin

J)智助(H)

享▼新建文件夾

名稱‘修改日期類型大小

&appxonf系統(tǒng)g己置文件,不可刪2016/1/3010:40如收檔1KB

取index.php項(xiàng)自入口文柞2016/1/3010:40PHP文件1KB

4)修改代碼后,通過(guò)SVN上傳到服務(wù)器端

特殊留意:項(xiàng)目提交完成后,百度的BAE是不會(huì)準(zhǔn)時(shí)生效的,必需手工發(fā)布,如下圖所示:

oS^.APPIDtt*fitsSVNGITWa?ss鎮(zhèn)作

wetxin至C

appiddamhkulcxh

Q

MfcixmKifi£

app?ddamhkuIoch

但是這樣特別麻煩,每次都需要手工更新,我們還可以單擊weixin這個(gè)項(xiàng)目名稱進(jìn)入如下

設(shè)置:

00

SVN/QT地址空湃數(shù)提作

更改自動(dòng)發(fā)布為On,如下圖所示:

執(zhí)行單元詳情發(fā)布設(shè)置杳看日志資源監(jiān)控

3、微信服務(wù)器對(duì)接百度BAE

①打開(kāi)微信公眾平臺(tái),進(jìn)入基本配置選項(xiàng):

國(guó)開(kāi)發(fā)

基本配舌

開(kāi)發(fā)者工具

運(yùn)維中心

接口權(quán)限

②單擊配置按鈕,如下圖所示:

服務(wù)翳配M(米啟用)

URL(K^aitMt)httpy/czbk888.cuapp,

Token(今牌)weixin

EncodingAES

明文模式

③填寫(xiě)數(shù)據(jù)(三個(gè)表單)

?墟可發(fā)口配置值鼻,比值屋需要檸明有口已比噩務(wù)31受方.

切的澄退的Tokec看證,謂閥C*入囿t?

必?zé)崾侄?/p>

£?4Mtp〃《htt隰〃H業(yè).分封為口錯(cuò)“3皿

Token

“妗*F8

兇物至HUE.箕163?卻.

什么是Token?

Ecc8m9AESKey|Q/43

**F2

同感加£?明由4汨知@?,記*a修改,字ma力AZ,?z.09.

什么是EncodingAESKey?

④下載官方的api即可

假如想讓微信公眾平臺(tái)與第三方BAE服務(wù)器進(jìn)行交互,必需需要一個(gè)中間文件(微信epi即

可),我們可以在關(guān)心中心找到該文件:

找到如下圖所示代碼,下載api接口:

而StmpStr==Ssignature)(

第三步:依摳接口文檔實(shí)現(xiàn)業(yè)務(wù)浸槽

驗(yàn)證URI有效性成功后即出莊效,成為開(kāi)發(fā)杳.SQB公眾號(hào)關(guān)型力霰務(wù)號(hào)(訂閱號(hào)只能使用胃通消息發(fā)

□),可以在公眾平臺(tái)網(wǎng)站中審清認(rèn)證,認(rèn)證成功的服務(wù)號(hào)總將眾多接口我用,以孱足開(kāi)發(fā)者需求.

下載解壓后,如下圖所示:

⑤復(fù)制wxsample.php文件到BAE名目中并改名為api.php

6//defineyourtoken

7define("TOKEN","weixin

設(shè)置完成后,通過(guò)SVN進(jìn)行上傳

⑦對(duì)接微信公眾平臺(tái)與BAE服務(wù)器

打開(kāi)基本配置選項(xiàng),填寫(xiě)信息如下:

URLhttpy/rapLphpl

必須以http〃或https:〃開(kāi)頭,分別支持80端口和4431ft口.

Tokenw^ixin

必須為英文3段字,長(zhǎng)度為3-32字符.

什么是Token?

EncodingAESKeyjYt8hmgqc5aPxqnbdBYAipQ5Jlg8WQEGXFt4rlkjWCC43/43隨機(jī)生成

消息加森田鑰由43位字符組成,可隨機(jī)修改,字符范圍為A-Z,a-z,0-9.

什么是EncodngAESKey?

:總息加融方式請(qǐng)根據(jù)業(yè)務(wù)會(huì),選擇消口解香類型,啟用后將立即生效

?明文模式

設(shè)置完成后,單擊啟用即可

涓舊汕解密方式明文博式

到此,整個(gè)連接過(guò)程配置完畢!

4、開(kāi)啟自動(dòng)回復(fù)接口

默認(rèn)狀況下,api.php文件中,只開(kāi)啟了驗(yàn)證接口,但是其并沒(méi)有開(kāi)啟自動(dòng)回復(fù)接口,所以

微信無(wú)任何響應(yīng)。

打開(kāi)api.php文件,然后設(shè)置如下代碼,代表開(kāi)啟自動(dòng)回復(fù)功能:

6//defineyourtoken

7//定義接頭密鑰

8defineC'TOKEN"."weixin");

9〃創(chuàng)建對(duì)象wechatObj

10$wechatObj=newwechatCallbackapiTest();

11//lx開(kāi)啟蛉證接口,蛉證后這行必須注釋掉

12//$wechatObj->va1id();

13//2、開(kāi)啟自動(dòng)回復(fù)功能

14$wechatObj->responseMsg();

編寫(xiě)勝利后,通過(guò)SVN上傳到服務(wù)器端,通過(guò)微信測(cè)試如下圖所示:

Welcometowechatworld!

!1!API接口分析

1、定義微信的TOKEN密鑰,主要用于連接微信公眾平臺(tái)

6//defineyourtoken

7//定義接頭密鑰

18defineC'TOKEN","weixin”);

2、定義微信對(duì)象,用于調(diào)用微信相關(guān)方法,實(shí)現(xiàn)相關(guān)操作

I9//創(chuàng)建對(duì)象wechatObj

|10JwechatObj=newwechatCallbackapiTest();|

3、驗(yàn)證接口(了解)

11//I、開(kāi)啟蛉證接口,險(xiǎn)證后這行必須注釋掉

12//$wechatObj->valid();

4、自動(dòng)回復(fù)接口(重點(diǎn))

默認(rèn)狀況下,自動(dòng)回復(fù)接口是關(guān)閉的,必需通過(guò)以下代碼開(kāi)啟回復(fù)功能:

XZ.//夕cutIICIUVMJ一/VOXXM\,

13//2、開(kāi)啟自動(dòng)回復(fù)功能

I14JwechatObj->responseMsg();

分析responseMsg接口:

1)接收XML格式的數(shù)據(jù)

39//接收post謫求傳遞過(guò)來(lái)的數(shù)據(jù),與$_POST區(qū)別在于以下代碼可以接收XML格式的數(shù)據(jù)

40$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];

2)防止XXE攻擊

4。trieuesLway±sLOcnecKcnevd±±u±LyUTxm±i

47//解析XML時(shí)不解析XML實(shí)體,防止XXE攻擊

48libxml_disable_entity_loader(true);

■八4?TIF1,?//■z*a■/**

d}

13)77使用SimplecXhMoL"I解npu析tsxommetl數(shù)hin據(jù)g..

以M上7O6代碼代}e表lse當(dāng)(用戶iiu發(fā)xni送i_u的i*關(guān)>dU鍵Ae_詞ern不.i<為.y_空iud時(shí)uer,^xr系ue統(tǒng);;會(huì)自動(dòng)返回Welcometowechatworld!

49〃使用simpleXMlQ析xml而t的數(shù)據(jù)

SpostObj-simplexml_load_string($postStr,31,叩1€*11_£卜睡#',LIBXML_NOCCATA);

I75echotr/e?」sult?S?trjQ?―???????

4)通過(guò)屬性來(lái)訪問(wèn)xml節(jié)點(diǎn)信息

51JresultStr=$sfrporminUtfs(eStrnexatmTpel,=$f$rop?onUssteOrnbamje-,>SFtrooUmselrlsneamreN,am$teim;e,SmsgType,ScontentStr);

52StoUsername=$postObj->TollserName;

53$keyword=trim($postObj->Content);|

73$contentStr="WelcometowechatworldI";

51)依據(jù)接收的消息,設(shè)置返回值

V/S/AHIXZ,

68//判斯用戶發(fā)送的關(guān)健熊否為空

69if(!empty((keyword))

7。2(ImsgType="text";

I71//設(shè)置回復(fù)突型為text,文本消息

五、微信的6大接收接口

各消息類型的推送XML數(shù)據(jù)包結(jié)構(gòu)如下:

目錄

1文本消息

2圄片由i息

3IB?消息

4視頻消息

5〃收頻消息

6地理位置消息

7睦消息

雖然以上顯示一共有7中消息類型,但是第4、第5種都是指視頻消息,所以綜合所述:只

有6大類消息類型。

工、文本消息

由于全部的信息都是以XML形式發(fā)送的,所以我們?cè)诜治鱿㈩愋蜁r(shí),第?點(diǎn)就應(yīng)生讀懂

XML結(jié)構(gòu)體。

①分析文本消息接口XML模板

文本消息

<xml>

<ToU$erName><![CDATA[toUser]]></ToUserName>

<FromUserName><!(CDATA[tromUser]]x/FromllserName>

<CreateTime>1348831860</CreateTime>

<MsgType><![CDATA[text]]>?/MsgType>

<Content><![CDATA[thi$isatest]]></Content>

<MsgId>1234567890123456v/Msgld>

</xml>

參數(shù)俺述

ToUserName開(kāi)發(fā)者微信號(hào)

FromUserNameI^OpenlD)

CreateTime消息創(chuàng)建時(shí)間(整型)

MsgTypetext

Content文本消息內(nèi)容

Msgld消息id,64位強(qiáng)

通過(guò)以上圖解分析可知,假如MsgType節(jié)點(diǎn)為text,代表用戶發(fā)送給微信公眾平臺(tái)的就是文

本消息。

②定義一j$msgType變量,用于接收MsgType節(jié)點(diǎn)信息

54Stollsername=5postObj->ToUserName;

55//$X—^JmsgTypegl

56$msgType=$postObj?>MsgType;

57//將收用戶左i關(guān)的關(guān)鍵詞

③在回復(fù)接口中,推斷$msgType這個(gè)變量并執(zhí)行相關(guān)程序

//MfilmsgType^g

if($msglype=='text'){

//劉斯用戶發(fā)送的關(guān)健司是否為工

if(!empty((keyword))

{

//枚將回復(fù)類St為text,文小淌息

SasgType="text";

ScontentStr=”您發(fā)送的是文本消息!

$resultStr=sprintf(StextTpl,SfromUsername,StoUsername,Jtime,SmsgType,

echoSresultStr;

}else{

echo"Inputsomething..

}

編寫(xiě)完成后,通過(guò)SVN上傳到BAE服務(wù)凈,測(cè)試結(jié)果:

您發(fā)送的是文本消息!

2、圖片消息

①分析XML結(jié)構(gòu)體

圖片消息

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromllserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>1348831860</CreateTime>

<MsgType><![CDATA[image]]></MsgType>

<PicUrl><![CDATA[thisisaurl]]></PicUri>

<MediaId><![CDATA[media_id]]></MediaId>

<MsgId>1234567890123456v/Msgld>

</xml?

描述

ToUserName開(kāi)發(fā)者微信號(hào)

FromllserName發(fā)送方帳號(hào)(一個(gè)OpenlD)

CreateTime消息創(chuàng)建時(shí)間(整型)

MsgTypeimage

PicUrl圖片S福

Mediald圖片消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù).

Msgld消息id,64位整型

8891echo$resultStr;

JresultStr=sprintf($textTpl,romUsername,StoUsername,SmsgType,ScontentStr);

分析以上圖解可知,假如用戶發(fā)送的是圖片消息,則MsgType節(jié)點(diǎn)為image

86ScontentStr="息發(fā)送的是圖片消息,血澧鼻!”;

②定義$msgType節(jié)點(diǎn)(己定義)

③推斷與執(zhí)行

85$msgType="text";

s/

83}elseif($msgType==image'){

84//設(shè)將回復(fù)類型為text,文本滿息

測(cè)I試結(jié)果如下圖所示:

您發(fā)送的是圖片消息,真漂亮!

3、其他消息

在微信開(kāi)發(fā)中,全部的接收接口都特別簡(jiǎn)潔,只需要推斷$msgType這個(gè)節(jié)點(diǎn)就可以實(shí)現(xiàn)對(duì)

用戶發(fā)送數(shù)據(jù)類型的推斷,完整代碼如下:

$msgType==,voice,語(yǔ)音消息

$msgType==/video/11$msgType==/shortvideo/視頻消息

$msgType=='location'地理位置消息

$msgType==/link,鏈接消息(伴侶圈共享的鏈接、我的保藏)

89}elseif($msgType=='voice'){

90//設(shè)15回復(fù)類型為text,文本消息

91SmsgType■"text";

92tcontentStr-“您發(fā)送的是海音消息,R音同動(dòng)聽(tīng)!”;

SresultStr=sprintf(StextTpl,SfromUsername,$toUsernar?e,$tir?e,$msgType,ScontentStr);

94echoSresultStr;

95}elseif($msgType=='video'11$msgType=="shortvideo'){

96//設(shè)!S回復(fù)克型為lexi,文本消息

97SmsgType="text";

98JcontentStr-“您發(fā)送的是現(xiàn)筑消息”;

JresultStr=sprintf($textTpl,SfromUsername,ItoUsername,$tii?e,$m$gType,ScontentStr);

100echoSresultStr;

101}elseif($msgType=="location'){

102//設(shè)置回復(fù)類型為text,文本消息

103SmsgType="text';

194ScontentStr-”憑發(fā)送的是旭理位13消息.目驚已鎖定”;

JresultStr-sprintf($textTpl,$fromUsername,StoUsername,$time,$msgType,JcontentStr);

106echoSresultStr;

107}elseif($msgType=='link'){

108//設(shè)蹲回復(fù)類型為text,文本消息

109SmsgType="text";

tll0ScontentStr="您發(fā)送的是譴接消息,不會(huì)有病毒吧!”;

SresultStr-sprintf($textTpl,SfromUsername,StoUsername,$time,$msgType,ScontentStr);

112echotresuixstr;

113)

測(cè)試結(jié)果:

****

天河區(qū)棠東東路(近東岳時(shí)尚酒店)

您發(fā)送的是地理位置消息,目標(biāo)

已鎖定

習(xí)近平抵達(dá)英國(guó)開(kāi)始國(guó)事訪問(wèn)

習(xí)近平夫婦看"皇家藍(lán)”抵達(dá)

英國(guó)倫敦,是10年來(lái)國(guó)家主

席苜次對(duì)英國(guó)進(jìn)行國(guó)事訪

問(wèn)?150名企業(yè)家隨行,...

您發(fā)送的是鏈接消息,不會(huì)有病

毒吧!

六、微信的3大回復(fù)接口

1、文本回復(fù)接口

回復(fù)文本消息

<xml>

?ToUserName?<![CDATA[tcUser]]></ToUserName>

<FromllserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>12345678</CreateTime>

<MsgType><![CDATA[text]]></MsgType>

<Content><![CDATA[i55?]]></Content>

</xml>

參數(shù)是否必須描述

ToUserName是接收方帳號(hào)(收到的OpenlD)

FromUserName是開(kāi)發(fā)者微信號(hào)

CreateTime是消息創(chuàng)建時(shí)間(整型)

MsgType是text

回復(fù)的消息內(nèi)容(換行:在content中能夠換行,微信客戶端就支持

Content是

渙行顯示)

①組裝XML格式的數(shù)據(jù)

〃定義一個(gè)xml文本回復(fù)模板|

StextTpl="<xml>

I!<ToUserName><I[CDATA[%s]]></ToUserName>

64<FromllserName><I[CDATA[%s]]></FromUserNanie>

<CreateTime>%s</CreateTime>

ill<MsgType><![CDATA[%s]]></MsgType>

<Content><![CDATA[%s]]></Content>

<FuncFlag>0</FuncFlag>

|69

②定義相關(guān)變量

75//設(shè)置回復(fù)類型為text,文本消息

76JmsgType=

77$contentStr=”您發(fā)送的是文本消息!"

③格式化XML格式的數(shù)據(jù)

要用到的學(xué)問(wèn)點(diǎn):sprintf函數(shù)

主要功能:返回一個(gè)格式化的字符串

stringsprintf(string$for$orgs[,mixed$...]])

Returnsastringproducedaccordingtotheformattingstringformat.

參數(shù)說(shuō)明:

$format:要格式化的字符串(微信中就是我們的xml數(shù)據(jù))

$args:要格式化的變量列表,變量與變量之間通過(guò)逗號(hào)隔開(kāi),挨次不能顛倒

格式化類型:%d(格式化為整型)%s(格式化為字符串類型)

61//定義一個(gè)xml文本回復(fù)模板

62ItextTpl?"<xml>

63<ToUserNane><I[CDATA[%s]]x/ToUserName>

64<FromUserName><I[CDATA]></FromUserName>

65<CreateTine>%s</Create!

66<MsgType><![C

67<Content><![CDATA

68<FuncFlag>0</FuncFlag$變量與%s之間是——時(shí)應(yīng)關(guān)系,順序不能顛倒

69

70〃判斷SmsgType變番

71if($msgType=="text'){

72//判斷用戶發(fā)送的關(guān)健詞至否為主

73if(!empty((keyword))

74

75//設(shè)巴◎復(fù)關(guān)生為text,文本消息

76ImsgType="text";

77ScontentStr=”您發(fā)送的是文本消息!

78$resultStr=sprintf(JtextTpl,$fromUsername,StoUsername,Stime,SmsgType,JcontentStr);

79echo$resultStr)

④把格式化后的xml數(shù)據(jù)返回到客戶端,完成回復(fù)功能

80//返回xml結(jié)構(gòu)的數(shù)據(jù)到客戶端

81echo$resultStr;

案例:使用文本接口完成簡(jiǎn)易號(hào)碼簿

項(xiàng)目需求:用戶在平臺(tái)中輸入?,系統(tǒng)自動(dòng)彈匣自定義回復(fù)文本信息如下:

[1]特種服務(wù)號(hào)碼

[2]通訊服務(wù)號(hào)碼

[3]銀行服務(wù)號(hào)碼

[4]用戶反饋

當(dāng)用戶輸入1,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:

常用特種服務(wù)號(hào)碼:

匪警:110

火警:119

急救中心:120

當(dāng)用戶輸入2,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:

常用通訊服務(wù)號(hào)碼:

中移動(dòng);1008G

中電信:10000

中聯(lián)通:10010

當(dāng)用戶輸入3,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:

銀行服務(wù)號(hào)碼

建設(shè)銀行:95533

工商銀行:99588

農(nóng)業(yè)銀行:95599

當(dāng)用戶輸入4,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:

敬重的用戶,為了更好的為您服務(wù),請(qǐng)將系統(tǒng)的不足之處反饋給我們。

823}echo$resjltStr;|

運(yùn)行si結(jié)果://把格式化后的數(shù)抿返回到客戶an

"esultSl-sprintf(StextTpl,$fromUsername,$toUsername,$time,JmsgType,ScontentStr)

79//格式化xml結(jié)構(gòu)的射據(jù)

78ScontentStr=“11】特種服務(wù)號(hào)碼\n(2J通訊版務(wù)號(hào)碼\n[31銀行服務(wù)號(hào)碼\n14]用戶反HP;

77SmsgType?'text';

76//設(shè)息相關(guān)變■

??'?'||

75if($key>10rd$keyword—>7'){

反饋格式:@+建議內(nèi)容

例7如4:@盼望{增加***號(hào)碼

假如用戶以@盼望這種形式向平臺(tái)輸入信息,則返回如下語(yǔ)句:

感謝您的珍貴建議,我們會(huì)努力為您供應(yīng)更好的服務(wù)!

示例代碼:

問(wèn)7號(hào)3的推斷i形f(!式?np:ty($keywo~d))

70〃劉新$msgType交量

71if($msgType=='text')(

72//利若用戶愛(ài)送的關(guān)魏詞是否為空

1?

[1]特種服務(wù)號(hào)碼

[2]通訊服務(wù)號(hào)碼

[3]銀行服務(wù)號(hào)碼

[4]用戶反饋

輸出1234返回結(jié)果,示例代碼:

83}elseif"keyword二T){

84//設(shè)15相關(guān)變量

85$msgType='text';

86ScontentStr="常用將稗眼秀號(hào)碼:\ngfS:110\n火警:119";

87//格式化xml結(jié)構(gòu)的構(gòu)報(bào)

$re$ultStr=sprintf(ItextTpl,SfromUsername,StoUsername,$time,$msgType,ScontentStr);

89//把格式化后的劫摳返?到客戶第

90echo$result$tr;

91}elseif(Skeyword-'2'){

92//設(shè)15相關(guān)變量

93JmsgType='text';

94ScontentStr="常用通訊眼打號(hào)碼:\n中稱動(dòng):10O86\n中電信:100。?!?;

95//格式化xml結(jié)構(gòu)的物報(bào)

$resultStr=sprintf($textTpl,$fro<nUsername,StoUsername,Stime,$msgType,ScontentStr);

97//把格式化后的筠摳返?到客戶第

98echo$result$tr;

99}elseif($keyword--'3'){

100//設(shè)H相關(guān)變量

101JmsgType='text';

102ScontentStr="常用銀行服殲號(hào)瑪:\n速設(shè)根行:95533\n工商,行:99588";

103//格式化xml結(jié)構(gòu)的俄報(bào)

$resultStr=sprintf(StextTpl,$fromllsername,StoUsername,Itime,SmsgType,ScontentStr);

105//把格式化后的勘舊返?到客戶第

106echoSresultStr;

}elseif(Jkeyword-'4'){

//設(shè)18相關(guān)交ii

JmsgType='text';

ScontentStr="R單的用戶,為了更好的為您版務(wù),請(qǐng)將系統(tǒng)的不足之處反慢給我們?\n反潛格式:?+建議內(nèi)容\n例如:目帚豆用1

//格式化xml結(jié)溝的假報(bào)

IresultStr=sprintf(StextTpl,SfromUsernarBe,StoUsername,$time,SmsgType,$contentStr);

//把格式化后的我寤返回到常戶;*

echoSresultStr;

}elseif(strpos($keyword,)--=0){

//設(shè)盤(pán)相關(guān)爽*

SmsgType="text*;

ScontentStr?”惑謝您的寶貴建議,我們會(huì)?5方為您提供史好的薪務(wù)!”;

//格式化xml拮溝的做據(jù)

$resultStr=sprintf($textTpl,$fromUsernai?e,StoUsername,$time,$msgType,ScontentStr);

//把格式化后的數(shù)據(jù)返?到告戶第

echoSresultStr;

}

運(yùn)行結(jié)果:

常用銀行服務(wù)號(hào)碼:

建設(shè)銀行:95533

工商銀行:99588

、尊敬的用戶.為了更好的為您服

務(wù),請(qǐng)將系統(tǒng)的不足之處反情給

我們。

反饋格式:@+建議內(nèi)容

例如:@希望增加***號(hào)碼

@希里增加濤哥的手機(jī)號(hào)碼

感譚您的寶貴建議,我們會(huì)努力

為您提供更好的服務(wù)!

2、音樂(lè)回復(fù)接口

分析音樂(lè)回復(fù)接口的XML模板

回復(fù)音樂(lè)消息

<xml?

<ToUserName><![CDATA[tollser]]></TollserName>

<FromUserName?<![CDATA[fromUser]]></FromUserName?

<CreateTime>12345678</CreateTime>

<M$gType><!(CDATA[mu$ic]]>?/MsgType?

<Music>

<Title><!(CDATA[TITLE]]></Title?

<Descriptionx![CDATA[DESCRIPTION]]></Description>

<MusicUrl><!(CDATA[MUSlC_UriJ]></MusicUri>

vHQMusicUrl><1[CDATA[HQ_MUSIC_Ud]]></HQMusicUrl>

<ThumbMediaid><![CDATA(media_id]]></ThumbMediaId?

</Music>

</xml>

參數(shù)是否必須說(shuō)明

TollserName是接收方帳號(hào)(收到的OpenlD)

FromUserName是開(kāi)發(fā)者微信號(hào)

CreateTIme

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論