SAE && 微信公众号

使用SAE作为云服务器设计和开发微信公众号

(一)准备工作

  1. 注册SAE
    地址:http://sae.sina.com.cn/,注册并实名认证成功后,就可以开始创建云应用了。创建应用的配置信息
    由于我使用的是php作为后台语言,所以这里选择的php,版本如果不确定可以先选一个,后期可以随时修改,标准环境支持Git和SVN同步代码,域名自定义,可能会提示不能使用或重复,多试几个就好了。
  2. 进入已创建应用的管理界面
    代码管理
    仓库地址
    打开代码管理,创建新版本,默认版本为1,点击在线编辑可进入到项目文件的编辑。前面提到可以使用Git上传本地项目,我是使用Git客户端完成上传的,Git地址以及用户名和密码见上图。
  3. 添加与测试号对接的测试代码文件
    index.php
<?php
/**
  * wechat php test
  */

//define your token
define("TOKEN", "wechat");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
$wechatObj->responseMsg();

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, '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 = "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 ){
           // header('content-type:text');
			return true;
		}else{
			return false;
		}
	}
}
?>

此段代码主要实现了对微信服务器的验证响应以及自动回复固定信息的功能。右键改文件通过URL打开,复制地址栏待会用到,,。

  1. 注册测试号
    地址: https://mp .weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
    使用微信号登陆即可免费申请注册,测试号的好处在于具有比订阅号更高的权限和更多的接口,对于初学者来说可以有更多的体验。
    测试号配置
    进入到配置界面,可看到该测试号得appID和appsecret,在接口配置信息中URL栏填写刚才复制的url,Token值自定义,只需保证和测试代码中定义的相同即可。提交无误的话会提示配置成功。
  2. 自定义菜单
    自定义菜单
    网页调试工具
    在创建接口中有讲解创建菜单的请求数据格式,在底部会有网页调试工具。
    获取access_token
    选择基础支持,appid和secret在上一步中提到过,检测问题,无误的话会返回真确结果。
    自定义菜单
    选择自定义菜单,将刚获得的access_token填写好,在body栏填入想要创建的菜单代码,检查问题,没有问题的话就可以关注公众号测试一下啦!

扫码关注测试号
测试自动回复功能以及自定义的菜单
测试
到此,准备工作就做好了、、。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值