本系列教程以微信公眾平台應用媽媽助手(賬號mmhelper:發送食物名稱或拼音首字母查詢孕婦、坐月子、寶寶能不能吃哪些食物。發送自己的位置查詢附近的母嬰類商家,以及促銷、團購等信息。發送與寶寶的合照測試與寶寶的臉部相似度)為例,講解微信接口開發過程。歡迎大家關注該賬號,二維碼見底部圖。
使用前提條件:擁有一個公網上的HTTP服務器主機空間,具有創建目錄、上傳文件等權限。推薦新浪的SAE。http://sae.sina.com.cn/
首先請注冊微信公眾平台的賬號,注冊地址:http://mp.weixin.qq.com/
本教程主要講解接口的開發流程。
官方的文檔非常簡潔:http://mp.weixin.qq.com/cgi-bin/indexpage?t=wxm-callbackapi-doc&lang=zh_CN
事例代碼也跑不通。我研究了一番,終於搞定。方法如下:
一、寫好接口程序
在你的服務器上上傳好一個接口程序文件,如http://www.yourdomain.com/weixin.php 內容如下:
<?php
define("TOKEN", "weixin");//自己定義的token 就是個通信的私鑰
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
//$wechatObj->responseMsg();
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', 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";
$contentStr = '你好啊,屌絲';
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo '咋不說哈呢';
}
}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;
}
}
}
?>
二、配置微信公眾平台回復接口
設置回復接口,填好URL和Token(url填上面的http://www.yourdomain.com/weixin.php,token必須跟上面程序里面定義的Token一致)

三、驗證接口
用自己的個人微信關注下你的公眾賬號,給這個賬號發一條消息過去,收到原樣的消息返回,即驗證成功了。
四、開始自定義回復
注釋掉$wechatObj->valid(); 這行,同時去掉//$wechatObj->responseMsg();這行的注釋。
你可以修改responseMsg函數里面的代碼,根據用戶的消息類型('text','image','location')和消息內容來回復用戶不同的內容。
消息接口就可以使用了,發個消息試試看吧?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
承接微信公眾平台消息接口開發、PHP、.NET、javascript、html5程序開發;新浪微博應用、騰訊微博應用等各大開放平台應用開發業務
聯系QQ:1433273389
關注媽媽助手(賬號mmhelper)方法:
1. 依次進入以下路徑:朋友們—>添加朋友—>搜號碼,輸入mmhelper,不區分大小寫,點擊查找,然后點擊關注。
2. 掃描二維碼:

