>  기사  >  백엔드 개발  >  PHP WeChat 공개 플랫폼 상호 작용 및 인터페이스에 대한 자세한 설명

PHP WeChat 공개 플랫폼 상호 작용 및 인터페이스에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-30 11:49:521862검색

이 글은 주로 PHP WeChat 공개 플랫폼의 개발, 상호 작용 및 인터페이스를 자세히 소개합니다. 관심 있는 친구들은 이를 참고할 수 있습니다.

이 글은 다음과 같이 세 부분으로 나누어져 있습니다.

1. WeChat 사용자, WeChat 서버 및 백엔드 서버 간의 상호 작용

예: WeChat 사용자는 공식 계정으로 문자 메시지를 보냅니다. 이 메시지는 먼저 WeChat 서버로 전송됩니다. XML 데이터 형식으로 백엔드 서버에 전달되며, 데이터를 수신한 후 백엔드 서버에서 데이터를 처리한 후 응답 데이터가 XML 데이터 형식으로 WeChat 서버에 전달됩니다. WeChat 서버는 사용자의 WeChat 인터페이스에 응답합니다.
WeChat 사용자와 WeChat 백엔드 서버 간의 상호 작용 프로세스는 데이터 전송 프로세스이지만 전송 스테이션인 WeChat 서버만 통과하면 됩니다.

그렇다면 WeChat 서버를 환승 스테이션으로 어떻게 사용할까요?
xml 데이터를 처리하고 패키징하여 휴대폰 화면에 표시합니다. 우리가 허용하는 그래픽 메시지는 다음과 같습니다:

단일 그래픽 및 텍스트:

여러 그래픽 및 텍스트

WeChat의 거의 모든 그래픽과 텍스트는 이 형식입니다. , 보드 형식, 크기는 동일하며 WeChat 서버에서 포장한 결과입니다.

2. 대화형 데이터 유형

WeChat 사용자가 보낼 수 있는 데이터 유형
1. 텍스트 유형(텍스트)

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";

2. 음성(음성)

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<Format><![CDATA[amr]]></Format>
<MsgId>5836982871638042400</MsgId>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
<Recognition><![CDATA[]]></Recognition>//recognition表示语音识别的结果
</xml>

3 . Pictures (img)

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[http://mmbiz.qpic.cn/mmbiz/L4qjYtOibummHn90t1mnaibYiaR8ljyicF3MW7XX3BLp1qZgUb7CtZ0D]]></PicUrl>
<MsgId>5836982871638042400</MsgId>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
</xml>

모든 메시지는 WeChat 서버로 전송된 후 MsgId로 표시되며 업로드된 사진, 비디오, 음성 등도 mediaId로 표시됩니다.

4. 영상(동영상)

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[vedio]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
<ThumbMediaId><![CDATA[mxUJ5gcCeesJwx2T9qsk62YzI
clCP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]></ThumbMediald>;//视频静止时显示那张图片地址
</xml>

5. 위치 메시지(location)

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<Location_X>22.539968</Location_X>
<Location_Y>113.954980</Location_Y>
<Scale>16</Scale>
<Label><![CDATA[中国广东省深圳市南山区深南大道9001号 
邮政编码: 518053]]></Label>
</xml>

6.

백엔드 서버 응답 메시지 유형

1. 텍스트 유형(text)

2. 음성(voice)


<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<Title><![CDATA[微信公众平台开发者的江湖]]></Title>
<Description><![CDATA[陈坤的微信公众号这段时间大火,大家...]]></Description>
<Url><![CDATA[http://www.cnblogs.com/txw1958/]]></Url>
<MsgId>5839907284805129867</MsgId>
</xml>


3. 사진(img)

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<Voice>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
</Voice>
</xml>


<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<Image>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
</Image>
</xml>

5. 뮤직(music)


<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[vedio]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<video>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
<ThumbMediaId><![CDATA[mxUJ5gcCeesJwx2T9qsk62YzI
clCP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]></ThumbMediald>;//视频静止时显示那张图片地址
</video>
</xml>

6. 그래픽(news)


<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<Music>
<Title><![CDATA[最炫民族风]]></Title>
<Description><![CDATA[凤凰传奇]]></Description>
<MusicUrl><![CDATA[http://zj189.cn/zj/download/music/zxmzf.mp3]]></MusicUrl>
<HQMusicUrl><![CDATA[http://zj189.cn/zj/dodownload/music/zxmzf.mp3]]></HQMusicUrl>
</Music>
</xml>

위 코드는 데이터 채우기용 참고용입니다. 위의 코드는 필요할 때 호출할 수 있습니다. 여기서는 다음 데이터 형식을 보여줍니다.

CDATA는 태그이며 태그로 표시된 텍스트 데이터는 xml 파서에서 구문 분석되지 않습니다. CDATA 구성 요소는 "

ToUserName 수신자 계정

FromUserName 발신자 계정

CreateTime 이벤트 보내기

MsgType 데이터 유형

Content 텍스트 콘텐츠

ArticleCount 이미지 및 텍스트 수
MsgId 데이터 ID

MediaId 미디어 ID

제목 제목
Description
MusicUr를 사용합니다. l 음악 연결 주소
HQMusicUrl 고음질 음악 연결 주소


2. 구체적인 상호 작용 단계는 코드입니다


이전 장의 그림 2에서는 통신을 위한 백엔드인 테스트 계정에 대한 URL과 토큰을 정의했습니다. WeChat 서버. 서버 주소 및 토큰은 토큰과 동일합니다. WeChat 서버는 백엔드 서버와 통신할 때 토큰을 제공합니다. 백엔드 서버는 WeChat 서버가 전달하는 토큰과 동일하다고 판단합니다. 동일하지 않으면 통신을 거부하게 됩니다. 이 과정을 토큰 검증이라고 합니다. (이 토큰은 토큰의 가치가 아닙니다.)
위 내용이 더 생생하며 아래 코드를 통해 설명하겠습니다. 예: URL은
http://weixinceshi111111.applinzi.com/index2.php

token :weixin index2.php code

<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<MsgId>5836982871638042400</MsgId>
<Content><![CDATA[]]></Content>
<ArticleCount>%s</ArticleCount>
<Articles>
<item>
<Title><![CDATA[ 【深圳】实况 温度:6℃ 湿度:62﹪ 风速:东北风2级]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/banner.jpg]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
<item>
<Title><![CDATA[ 【深圳】实况 温度:6℃ 湿度:62﹪ 风速:东北风2级]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/banner.jpg]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
</Articles>
</xml>



3.1 인터페이스란 무엇입니까

인터페이스는 특정 기능을 가진 도구와 같습니다. 예를 들어 집을 지을 때 벽에 설치해야 합니다. 구멍을 뚫을 때 드릴 도구를 사용하게 됩니다. 도구를 사용하여 드릴링을 완료하려면 연결, 교정 및 드릴링과 같은 일련의 단계를 완료하여 최종적으로 목표를 달성해야 합니다. 연결, 교정 및 드릴링은 도구를 호출하여 드릴링을 완료하는 단계입니다.

WeChat에서 메뉴 인터페이스를 만드는 예

인터페이스 호출 단계: 1. WeChat 메뉴 인터페이스의 연결 주소를 얻고 대화를 설정합니다.

2. 생성된 메뉴 데이터를 이 인터페이스로 보냅니다.

인터페이스 호출이 완료되고 이 인터페이스는 자동으로 데이터를 처리하고 WeChat 공개 페이지에 메뉴를 생성합니다.

WeChat 인터페이스의 호출 방법은 다음 장: WeChat 공개 플랫폼 개발(3): WeChat 고급 인터페이스 호출을 참조하세요.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.


관련 권장 사항:

php

php에서 상수, 정적 속성, 비정적 속성의 차이점 클래스 및 개체: 정적 속성 및 정적 메서드에 대한 자세한 그래픽 설명

php

에서 정적 속성과 정적 메서드의 차이점

위 내용은 PHP WeChat 공개 플랫폼 상호 작용 및 인터페이스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.