【个人测试公众号】微信公众号接入过程问题笔记
网站备案审核实在太慢了。
然后就用了以前申请的sina sae空间+域名 配置了微信公众号个人测试沙箱
第一步 :先进入微信测试公众号页面
然后是手机微信扫码授权后,就有如下界面

第二步 :配置接口信息
这一步可以参照微信接入说明 ,该页提供一个php的实例下载,很简单基本上修改一下自定义的TOKEN就好了,然后把验证页面放到自己的服务器上。
这里我提供我做的一个例子:
准备资源:
域名+空间(我的是sae空间+万网域名)、仅作验证的php文件
域名指向的空间根目录我创建了一个index.php
index.php
<?php
/**
* wechat php test
*/
//define your token
define("TOKEN", "weixin_freddon");//只用改这一个TOKEN、任意名称,比如weixin_freddon
$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)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
$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()
{
// you must define TOKEN by yourself
if (!defined("TOKEN")) {
throw new Exception(‘TOKEN is not defined!‘);
}
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
然后填写配置信息Token (一定要与上面的index.php中的token一致)、URL(index.php的地址)

然后提交就可以了
如果提示失败,请检查Token与URL【如果是自己的域名和空间,请备案; 百度sae、新浪sae的需要自己申请而且认证通过(就是自己拍一个手握证件照上传,很简单的 最短2天就o了),这一步必须必】
第三步 :配置JS接口安全域名
这一步其实也很简单的,但是很多人在这一步浪费很长时间,
填这个域名是一定不要带protocol的,比如说 http://www.sagosoft.com/ 这样是不对的
应该是 www.sagosoft.com 【否则在微信js-sdk接入时会提示invalid url domain】

最后放一张另一个账号的完成图

【个人测试公众号】微信公众号接入过程问题笔记
原文:http://my.oschina.net/u/1388778/blog/513449