消息关闭
    暂无新消息!
微信开放平台创建公众号第三方平台成功,并通过审核后,
授权事件接受URL,接受不到任何微信服务器发送的请求和数据,
将填写的URL直接复制到浏览器中也是可以访问到的,
已经陷入绝境了,不晓得该如何下手,求高手,求解决思路

33个回答

︿ 3
看看apache的log,看看有没有来自微信服务器的post。
如果没有,你的微信设置错了。
︿ 3
可能是框架本身做了一些验证。yii2是关闭controller的 csrf 验证,即修改controller的enableCsrfValidation属性为false
︿ 3
public function getVerify_Ticket($timeStamp,$nonce,$encrypt_type,$msg_sign,$encryptMsg){

$token='keyoulaitest';
$encodingAesKey='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG';
$app_id='wxe96330021048597f';

vendor('wx_infosec.wxBizMsgCrypt');
$pc = new \WXBizMsgCrypt($token, $encodingAesKey, $app_id);


$xml_tree = new \DOMDocument();
$xml_tree->loadXML($encryptMsg);
$array_e = $xml_tree->getElementsByTagName('Encrypt');
$encrypt = $array_e->item(0)->nodeValue;

$format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml>";

$from_xml = sprintf($format, $encrypt);

$msg = '';

$errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg);

S('msg',$msg);

if ($errCode == 0) {

$xml = new \DOMDocument();
$xml->loadXML($msg);
$array_e = $xml->getElementsByTagName('ComponentVerifyTicket');

$component_verify_ticket = $array_e->item(0)->nodeValue;
//当存在缓存,就清掉
if (S('component_verify_ticket')!==false)
{
S('component_verify_ticket',null);
}

S('component_verify_ticket',$component_verify_ticket);

//缓存成功后返回true
if (S('component_verify_ticket')!==false)
{
return true;
}


}else{

if (S('error_code')!==false)
{
S('error_coed',null);
}

S('error_code',$errCode);
return false;
}
其中根据楼上的建议,添了一条存GET数据到文件的代码
︿ 2
另外,这个是PHP,THINKPHP框架的URL写法,我自己访问这个链接,并且在里面写测试的东西,都是可以正常运行的,无论是存测试数据到数据库,还是写入文件,存入缓存,都正常。
还有,我创建公众号第三方平台,审核是秒过,一点提交显示的就是审核通过,网上都说要两三天,我都怀疑,微信服务器在忽悠我,其实审核并没有过,他给我这样显示了,但是不给我数据。
不知道大家有没得这个问题
︿ 2
但是,我始终觉得我现在的问题是出在:接收不到微信服务器推送的component_verify_ticket数据,
连一个GET或者POST数据都没得,所以,后面的代码根本就无从谈起。
三个参数,一个POST加密字符串都没得,如何去做解密……
︿ 1
public function acceptAuthorizeEvent()
{
//$this->valid();

if (S('get')!==false)
{
S('get',null);
}
if (S('post')!==false)
{
S('post',null);
}
$timeStamp    =$_GET['timestamp'];
$nonce        =$_GET['nonce'];
$encrypt_type =$_GET['encrypt_type'];
$msg_sign     =$_GET['msg_signature'];
$encryptMsg   =file_get_contents('php://input');

$file='Public/info.txt';

S('get',$_GET);
S('encryptMsg',$encryptMsg);

file_put_contents($file, $_GET);

$result = $this->getVerify_Ticket($timeStamp,$nonce,$encrypt_type,$msg_sign,$encryptMsg);

if($result){
echo 'sucess';
}

}
︿ 1
楼主解决了吗,能指导下吗,我也是遇到这个坑。。。
︿ 1
你这个地址我有点没看懂 应该是地址的问题把   你自己访问一下你的地址 里面随便打印个东西试试, 接受不到微信服务器发送来的数据的话,检查一下地址,如果地址没问题,你就在微信服务器调你的地址的时候 写一个东西在数据库里面, 看看微信服务器到底有没有调你的地址,
︿ 1
那个链接是异步的 打印不出来的 看不到的  你可以下载xml文档到本地
︿ 1
好巧... 这会也是卡在这个地方  接收不到任何消息 ..  但是自己输入地址访问是可以访问到的   楼主解决了求分享
︿ 0
在开放平台里面有个地方设置 接受ticket的地址, 设置了 微信服务器没五分钟就会推送一次,你按照我的方法接收就行了啊。
︿ 0
我tm也是这个问题 和楼主一模一样  楼主简直说出了我的心声 解决了吗楼主 我现在快爆炸了 贼烦
︿ 0
谢谢了,文件下载了看过,
不过,我不是代码方面的问题哈。

而是我填写的接受授权事件URL根本就没接收到微信服务器的推送的任何数据,

但是,我将填写的授权事件URL直接复制到浏览器是可以正常访问的,

所以,现在我搞不明白,是哪个环节出了问题,导致接收不到数据

所以,我需要解决的是怎样才能正确的接受到微信服务器推送给我的数据,至于处理数据,总得先把数据接收到再说。
︿ 0
我也遇到这个坑了
授权事件接收URL可以接收到消息
公众号消息与事件接收URL这个没有任何消息,有没有人解决了?????
︿ 0
我也遇到了这个问题,原因是我的laravel版本默认加载了web中间件,所以对post请求进行了csrf验证,导致微信的请求进不来,解决方法就是吧csrf验证注释掉就可以了。
︿ 0
坑~!~     我也是遇到同样的问题。 有没有哪位大牛解决了该问题的,请赐教。
︿ 0
这个网址是微信公众平台的吧。微信第三方公众平需要在这里面设置啥呢?能说得具体点吗?
我真没在这里面设置啥东西。
而且开放平台的帐号也是不能登录这个网站的,我该拿哪个帐号去登录?
︿ 0
开始接触微信开放平台都这样 不知道从何下手,
http://download.csdn.net/detail/u013358222/9465272 
http://download.csdn.net/detail/u013358222/9475761
参考一下把