微信公众平台服务器配置token验证失败
跟你遇到一样的问题,解决了!都是菜鸟,不容易,分享一下:
你在这个配置里面填写的Token (weixin)要跟你weixintong-entphp页面中定义的Token一致才可以;
所以你现在要做的就是打开 weixintong-entphp 找到里面定义Token的地方,写成( weixin )即可;
token是第三方平台(微盟,微商户,口袋通等)绑定到微信公众号的验证口令,token可以有商家自由设置,也能是第三方平台自动生成。
token使用在微信公众平台-基本配置-服务器配置中,只有商城URL和token配套且和第三方平台上的URL和token一直,才能将微信公众号绑定到第三方平台。
但现在一般不会用这种绑定方法了,第三方平台都有自动绑定的功能了,就是第一张截图中的绿色按钮,点击后就会跳到自动绑定页面
你获取的token是调用接口的token,和要求3-32个字符的token不是一回事。要求3-32个字符的token的自己随意填写的,只要和你服务器后台程序里设置的token对应起来就可以了。
作为一名微信公众号开发者,别人进入你的微信公众号,肯定会看见某些网页,或者给你发某些信息,你需要实时自动回复,所以你需要一个24小时为用户服务的服务器。我们所要填写的url就是你提供的服务器的地址,前提是这个服务器的地址你要能够访问,且能够控制。而token是用来验证的。
然后你需要一个服务器,服务器可以自己购买,也能用新浪sae,百度bae。方法是进入其开发者中心,注册一个开发者账号。并进行实名认证!(没有进行实名认证的小伙伴们是无法成功的)
注册完毕后,我们进入控制台创建一个新应用。
创建完应用之后我们进入左侧代码管理,提示我们创建一个新版本,点击确定创建一个新版本。然后选择第一张图中的编辑代码选项。弹出第二张图,双击indexphp编辑本页代码。
将下面的代码加标点复制进去。将define("TOKEN", "weixin")这句话中的weixin改成你自己的token,例如zijidetoken;然后点击右上角的全部保存。
<php
/
wechat php test
/
//define your token
define("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, '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 ){
return true;
}else{
return false;
}
}
}
>
按照第一幅图中又键点击indexphp文件,选择通过URL访问得到第二幅图,复制地址栏的网址,这就是你微信开发需要填写的url,而你需要填写的token就是你上一步骤自己修改后的token。
填写完毕,提交成功。好了,你可以开始你的微信公众开发了。
END
注意事项
开发者一定要实名认证后才行,不然会提示验证token失败。
微信开发需要php知识。
其中
点击提交后,服务器会收到由微信服务器发送过来的 GET 请求,请求参数如下:
服务器需会对signature进行校验,若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
其中需要注意的一点就是SignUtil类中的Token需要和服务器配置的Token保持一致,这样编码就结束了。
如 果在服务器配置的时候填的是外网地址,那么点击提交后会显示提交成功了。
没有外网地址的童靴可以往下看咯
这样整个配置就结束了
当我们看到这个页面就说明我们配置成功了,只需要将该地址放入服务器配置中的url点击提交即可
1、登陆你需要配置接口的平台。
2、登录微信公众平台mpweixinqqcom。
3、点击右上角的公众号头像,拷贝相关信息粘帖到自己配置接口的平台,填写完信息后点击保存。
4、弹出系统分配给你的服务器配置url和token值,也就是常说的接口地址。
5、点击微信公众平台左测下面的开发者中心菜单,点击右侧的修改配置按钮。
6、点击启用按钮。
微信公众平台是腾讯公司在微信的基础上新增的功能模块。
通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字、、语音的全方位沟通、互动。
微信公众平台分订阅号和服务号、企业号三类平台,利用公众账号平台进行自媒体活动。
简单来说就是进行一对多的媒体性行为活动,还可以实现部分轻应用功能。
0条评论