微信公眾平台消息接口開發(1)-官方的Demo有問題


本系列教程以微信公眾平台應用媽媽助手(賬號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. 掃描二維碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM