SAE微信公众号PHP SDK, token一直验证失败

inx_worldchip 2015-04-22 04:13:26
用的是SAE,创建的是微信公众号PHP SDK框架,里面example文件夹下有server.php用来验证token的。
但是问题来了,无论我怎么输入URL和token,一直告诉我token验证失败。
我尝试过:
1.
URL:http://XXXXXXX.sinaapp.com/example/server.php
token:weixin(就是文件里面默认的token值)
这是建立之初教程指示的地址。仍然 显示token验证失败
2.我在官网,微信公众平台开发手册里下载的实例代码
URL:http://XXXXXXX.sinaapp.com/wx_sample.php
token:weixin
同样token是默认值,仍然显示验证失败。
3.专门的测试URL可以验证成功,但是其他的就不行了
URL:http://discuz.comli.com/test.php
token:weixin,
4.用过微助手提供的URL和TOKEN,一开始是成功的,验证成功,由于要开发自己的管理平台,肯定不能用微助手。但是过了几天再用这个URL和token验证,他就开始拒绝的。就开始验证失败了。与当时成功会步骤一模一样,但是就是验证失败。

在此期间,我在index.php里关闭了debug模式,调用了SAE的引擎,在config里关闭了页面trace信息。都不好使。
define('APP_DEBUG', false);
define('ENGINE_NAME','sae');
'SHOW_PAGE_TRACE' =>false,
而且编辑器里也没开uft8+BOM编码 ,也用了第三方调配好的文件上传到服务器配置URL和token,还是不好使。
新建其他应用,换了服务器也还是不好使
这到底是什么问题,该怎么处理,小生命数已尽,望各位大侠不吝赐教。
...全文
14137 51 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_37682271 2017-02-27
  • 打赏
  • 举报
回复


如图添加header('content-type:text')在第十八行处


ksgt00981172 2016-12-19
  • 打赏
  • 举报
回复
18楼威武,复制18楼代码成功了
朱兴华 2016-10-19
  • 打赏
  • 举报
回复
引用 7 楼 baidu_27705801 的回复:
[quote=引用 6 楼 inx_worldchip 的回复:] 多谢大家,问题解决了。实名认证后就好了。问题估计是因为SAE上个月 在每个未实名认证的应用都自动添加个JavaScript 提示错误,导致返回值多了一段JavaScript的代码导致token无法验证成功。
我的SAE实名认证。可还是验证失败。SAE实名认证了,在图像下方是“未认证(开发者认证)“么?[/quote] 在输出 $echoStr之前加上header('content-type:text');就行。
u014378108 2016-10-13
  • 打赏
  • 举报
回复
感谢四楼 header('content-type:text');
qq_26803971 2016-10-04
  • 打赏
  • 举报
回复
感谢4楼与18楼,受用了,再次感谢
hxdyx1 2016-09-15
  • 打赏
  • 举报
回复
引用 4 楼 cnvienna 的回复:
在输出 $echoStr之前加上header('content-type:text');就行。 已测试通过!!
牛人,非常感谢!
linmufeng_ 2016-09-15
  • 打赏
  • 举报
回复
引用 4 楼 cnvienna 的回复:
在输出 $echoStr之前加上header('content-type:text');就行。 已测试通过!!
终于成功了,谢谢!
u013722045 2016-07-22
  • 打赏
  • 举报
回复
四楼V5,谢谢
四页草的诉说 2016-06-27
  • 打赏
  • 举报
回复
四楼,谢谢,这个问题折腾死我了
sinat_26021489 2016-06-14
  • 打赏
  • 举报
回复
四楼威武,为你点赞
逸仙流 2016-06-08
  • 打赏
  • 举报
回复
首先有没有正确输出token,还有就是有没有进行编码矫正 header("Content-Type:text/html; charset=utf-8"); 加上这句话..
nvzizhou 2016-06-07
  • 打赏
  • 举报
回复
跪拜4楼啊,调了一下午终于出来了
qq_35168294 2016-05-30
  • 打赏
  • 举报
回复
感谢18楼 的正解
o_o918 2016-05-09
  • 打赏
  • 举报
回复
4楼,我要请你吃饭哇哈哈哈,终于搞定我的问题了
yoho小黄豆 2016-04-26
  • 打赏
  • 举报
回复
4楼 感谢啊!!!!!!
码无边 2016-04-15
  • 打赏
  • 举报
回复
header正解
baidu_34663082 2016-04-14
  • 打赏
  • 举报
回复
<?php //错误日志 function echo_server_log($log){ file_put_contents("log.txt", $log, FILE_APPEND); } //定义TOKEN define ( "TOKEN", "zhinengjiaju1" ); //验证微信公众平台签名 function checkSignature() { $signature = $_GET ['signature']; $nonce = $_GET ['nonce']; $timestamp = $_GET ['timestamp']; $tmpArr = array ($nonce, $timestamp, TOKEN ); sort ( $tmpArr ); $tmpStr = implode ( $tmpArr ); $tmpStr = sha1 ( $tmpStr ); if ($tmpStr == $signature) { return true; }else{ return false; } } if(false == checkSignature()) { exit(0); } //接入时验证接口 $echostr = $_GET ['echostr']; if($echostr) { echo $echostr; exit(0); } //获取POST数据 function getPostData() { $data = $GLOBALS['HTTP_RAW_POST_DATA']; return $data; } $PostData = getPostData(); //验错 if(!$PostData){ echo_server_log("wrong input! PostData is NULL"); echo "wrong input!"; exit(0); } //装入XML $xmlObj = simplexml_load_string($PostData, 'SimpleXMLElement', LIBXML_NOCDATA); //验错 if(!$xmlObj) { echo_server_log("wrong input! xmlObj is NULL\n"); echo "wrong input!"; exit(0); } //准备XML $fromUserName = $xmlObj->FromUserName; $toUserName = $xmlObj->ToUserName; $msgType = $xmlObj->MsgType; if($msgType == 'voice') {//判断是否为语音 $content = $xmlObj->Recognition; }elseif($msgType == 'text'){ $content = $xmlObj->Content; }else{ $retMsg = '只支持文本和语音消息'; } if (strstr($content, "温度")) { $con = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); mysql_select_db("app_zhinengjiaju1", $con);//修改数据库名 $result = mysql_query("SELECT * FROM sensor"); while($arr = mysql_fetch_array($result)){ if ($arr['ID'] == 1) { $tempr = $arr['data']; } } mysql_close($con); $retMsg = "报告大王:"."\n"."主人房间的室温为".$tempr."℃,感谢您对主人的关心"; }else if (strstr($content, "开空调")) { $con = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); $dati = date("h:i:sa"); mysql_select_db("app_zhinengjiaju1", $con);//修改数据库名 $sql ="UPDATE switch SET timestamp='$dati',state = '1' WHERE ID = '1'";//修改开关状态值 if(!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); }else{ mysql_close($con); $retMsg = "好的主人"; } }else if (strstr($content, "关空调")) { $con = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); $dati = date("h:i:sa"); mysql_select_db("app_zhinengjiaju1", $con);//修改数据库名 $sql ="UPDATE switch SET timestamp='$dati',state = '0' WHERE ID = '1'";//修改开关状态值 if(!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); }else{ mysql_close($con); $retMsg = "好的主人"; } }else{ $retMsg = "暂时不支持该命令"; } //装备XML $retTmp = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; $resultStr = sprintf($retTmp, $fromUserName, $toUserName, time(), $retMsg); //反馈到微信服务器 echo $resultStr; ?>
叶子猫丶 2016-04-05
  • 打赏
  • 举报
回复
四楼 一把鼻涕一把泪的感谢
value_memory 2016-03-30
  • 打赏
  • 举报
回复
非常感谢四楼!我 成功了!
ba2den 2016-02-29
  • 打赏
  • 举报
回复
最新版:4楼正解
加载更多回复(31)

3,154

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧