>백엔드 개발 >PHP 튜토리얼 >WeChat 공개 platform_php 기술에서 팔로우 및 언팔로우 이벤트를 개발하는 방법

WeChat 공개 platform_php 기술에서 팔로우 및 언팔로우 이벤트를 개발하는 방법

WBOY
WBOY원래의
2016-05-16 20:27:502376검색

이 기사의 예에서는 WeChat 공개 플랫폼에서 팔로우 및 언팔로우 이벤트를 개발하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

사용자가 공개 계정을 팔로우하거나 언팔로우하면 WeChat은 개발자가 입력한 URL에 이 이벤트를 푸시하므로 개발자는 사용자에게 환영 메시지를 보내거나 계정 바인딩을 해제할 수 있습니다.

다음은 WeChat 공개 플랫폼에서의 팔로우 및 언팔로우의 예입니다.

코드 복사 코드는 다음과 같습니다.
define("TOKEN", "w3note");//식별 정의 코드
$wechatObj = new wechatCallbackapiTest();//wechatCallbackapiTest 클래스 인스턴스화

if(!isset($_GET["echostr"])){
$wechatObj->응답Msg()
}그밖에{
$wechatObj->유효()
}
wechatCallbackapiTest 클래스
{
공개 함수 valid()
{
         $echoStr = $_GET["echostr"]
If($this->checkSignature()){
             echo $echoStr; 종료
           }
}
공개 함수 responseMsg()//수신자 메서드 실행
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]
If (!emptyempty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA)
$RX_TYPE = 트림($postObj->MsgType)
스위치($RX_TYPE){
사례 "이벤트":
         $result = $this->receiveEvent($postObj)
        빵
        }
에코 $결과; }그밖에{
에코
종료
}
}
개인 함수 receiveEvent($object){
$content = ""
스위치($postObj->이벤트){
케이스 "구독":
$content = "블로그 팔로우를 환영합니다"; //팔로워에게 보내는 메시지입니다
휴식
케이스 "구독 취소":
$content = ""
휴식
}
$result = $this->transmitText($object,$content)
$결과 반환
}
개인 함수 submitText($object,$content){
$textTpl = "
~                                                                             %s ~ <콘텐츠> >         
";
$result = sprintf($textTpl, $object->FromUserName, $object->$ToUserName, time(), $content)
$결과 반환
}
개인 함수 checkSignature()
{
$signature = $_GET["서명"]
$timestamp = $_GET["타임스탬프"]
$nonce = $_GET["nonce"]
$토큰 = 토큰
$tmpArr = 배열($token, $timestamp, $nonce)
정렬($tmpArr, SORT_STRING)
$tmpStr = 파열( $tmpArr ); $tmpStr = sha1( $tmpStr )
if( $tmpStr == $signature ){
true를 반환합니다.
}그밖에{
거짓 반환
}
}
}

코드 관련 매개변수 설명:
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType  消息类型,event
Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

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