搜尋
首頁php教程php手册php 微信开发平台开发小试验

微信和随之微信产生的开放平台最近着实火了一下。一直想做个微信的平台试试,最近有了个好点子,想尽快把它实现出来,好在微信不需要什么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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。