php教程 php手册 php 微信开发平台开发小试验

php 微信开发平台开发小试验

Jun 21, 2016 am 08:48 AM
gt lt quot token

微信和随之微信产生的开放平台最近着实火了一下。一直想做个微信的平台试试,最近有了个好点子,想尽快把它实现出来,好在微信不需要什么UI等等的设计,只需要把逻辑展现出来即可了。其实微信公众平台如果只是作为一个发布信息的平台的话,也就是“编辑模式”下其实是无需敲代码的。只是在开发者模式下需要开发者去设计一定的逻辑和代码去实现特定的功能,接下来就说下开发的起步:

 

1.开发微信公众平台首先要有服务器资源,当然那种编辑模式的不算。所谓的编辑模式就是那种单纯的每天推送一条消息的公众账号。服务器资源各种云各种服务器都是可以的,推荐BAE/SAE/坚果/阿里等等的一种,各有好处,而且由于竞争的缘故?都会有部分免费的资源相送,拿来练练手就足够的了。

a.申请BAE账号,创建应用,如果是测试的话去微信公众平台的主页下载测试的PHP代码,只需将其中的TOKEN修改成自己的TOKEN即可。例如下面的PHP测试代码,代码的逻辑很清晰,即一个验证过程,也能定义一部分的逻辑操作。上传这个文件并且创建自己应用的版本1:

 

 

<?php  
/** 
* wechat php test 
*/  
//define your token  
define("TOKEN", "weixin");//此时你的微信公众平台的token即为weixin  
$wechatObj = new wechatCallbackapiTest();  
$wechatObj->valid();  
class wechatCallbackapiTest  
{  
public function valid()  
{  
$echoStr = $_GET["echostr"];  
//valid signature , option  
if($this->checkSignature()){  
echo $echoStr;  
exit;  
}  
}  
public function responseMsg()  
{  
//get post data, May be due to the different environments  
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];  
//extract post data  
if (!empty($postStr)){  
$postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);  
$fromUsername = $postObj->FromUserName;  
$toUsername = $postObj->ToUserName;  
$keyword = trim($postObj->Content);  
$time = time();  
$textTpl = "<xml>  
<ToUserName><![CDATA[%s]]></ToUserName>  
<FromUserName><![CDATA[%s]]></FromUserName>  
<CreateTime>%s</CreateTime>  
<MsgType><![CDATA[%s]]></MsgType>  
<Content><![CDATA[%s]]></Content>  
<FuncFlag>0</FuncFlag>  
</xml>";  
if(!empty( $keyword ))  
{  
$msgType = "text"; (PS:^_^不错的php学习交流群:276167802,验证:csl,有兴趣的话可以加入进来一起讨论)  
$contentStr = "Welcome to wechat world!";  
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);  
echo $resultStr;  
}else{  
echo "Input something...";  
}  
}else {  
echo "";  
exit;  
}  
}  
private function checkSignature()  
{  
$signature = $_GET["signature"];  
$timestamp = $_GET["timestamp"];  
$nonce = $_GET["nonce"];  
$token = TOKEN;  
$tmpArr = array($token, $timestamp, $nonce);  
sort($tmpArr);  
$tmpStr = implode( $tmpArr );  
$tmpStr = sha1( $tmpStr );  
if( $tmpStr == $signature ){  
return true;  
}else{  
return false;  
}  
}  
}  
?>  
로그인 후 복사

 



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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까? 화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까? Dec 29, 2023 pm 02:27 PM

화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까?

잘못된 로그인 토큰 문제를 해결하는 방법 잘못된 로그인 토큰 문제를 해결하는 방법 Sep 14, 2023 am 10:57 AM

잘못된 로그인 토큰 문제를 해결하는 방법

로그인 토큰이 유효하지 않은 경우 수행할 작업 로그인 토큰이 유효하지 않은 경우 수행할 작업 Sep 14, 2023 am 11:33 AM

로그인 토큰이 유효하지 않은 경우 수행할 작업

수정: Windows 11에서 캡처 도구가 작동하지 않음 수정: Windows 11에서 캡처 도구가 작동하지 않음 Aug 24, 2023 am 09:48 AM

수정: Windows 11에서 캡처 도구가 작동하지 않음

Vue3+Vite가 듀얼 토큰을 사용하여 무의미한 새로 고침을 달성하는 방법 Vue3+Vite가 듀얼 토큰을 사용하여 무의미한 새로 고침을 달성하는 방법 May 10, 2023 pm 01:10 PM

Vue3+Vite가 듀얼 토큰을 사용하여 무의미한 새로 고침을 달성하는 방법

Redis에서 사용자 토큰 저장 문제를 해결하는 방법 Redis에서 사용자 토큰 저장 문제를 해결하는 방법 May 31, 2023 am 08:06 AM

Redis에서 사용자 토큰 저장 문제를 해결하는 방법

토큰은 무슨 뜻인가요? 토큰은 무슨 뜻인가요? Feb 29, 2024 am 10:19 AM

토큰은 무슨 뜻인가요?

iPhone에서 App Store 오류에 연결할 수 없는 문제를 해결하는 방법 iPhone에서 App Store 오류에 연결할 수 없는 문제를 해결하는 방법 Jul 29, 2023 am 08:22 AM

iPhone에서 App Store 오류에 연결할 수 없는 문제를 해결하는 방법

See all articles