微擎任意消息该公众号提供的服务器,该公众号提供的服务出现故障,请稍后再试...
image.png
用戶發(fā)送消息給公眾號時,假如服務(wù)器無法保證在五秒內(nèi)處理并回復(fù),必須做出下述回復(fù),這樣微信服務(wù)器才不會對此作任何處理,并且不會發(fā)起重試(這種情況下,可以使用客服消息接口進行異步回復(fù)),否則,將出現(xiàn)嚴(yán)重的錯誤提示。
一旦遇到以下2種情況,微信都會在公眾號會話中,向用戶下發(fā)系統(tǒng)提示“該公眾號暫時無法提供服務(wù),請稍后再試”:
1、開發(fā)者在5秒內(nèi)未回復(fù)任何內(nèi)容
2、開發(fā)者回復(fù)了異常數(shù)據(jù),比如JSON數(shù)據(jù)等
所以針對公眾號提出的可能存在的問題1,給出以下解決方式:
1、直接回復(fù)success(推薦方式)
2、直接回復(fù)空串(指字節(jié)長度為0的空字符串,而不是XML結(jié)構(gòu)體中content字段的內(nèi)容為空)
public function responseMsg() {
//$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
$postStr = file_get_contents('php://input');
if (!empty($postStr)) {
$postObj = simplexml_load_string($postStr); //, 'SimpleXMLElement', LIBXML_NOCDATA
//關(guān)注事件時推送消息
if (strtolower($postObj->MsgType) == 'event') {//事件
if (strtolower($postObj->Event == 'subscribe')) {//關(guān)注
$domain = Yii::$app->params['domain']['www'];
$imgDomain = Yii::$app->params['domain']['img'] . 'logo.png';
$array = array(
array('title' => '歡迎關(guān)注一網(wǎng)超市',
'description' => '上一網(wǎng) 逛超市 多快好省!',
'picUrl' => $imgDomain,
'url' => $domain,
),
);
$textTpl = "
%s
" . count($array) . "
";
foreach ($array as $key => $val) {
$textTpl .= "
";
}
$textTpl .= "
";
$fromUserName = $postObj->FromUserName;
$toUserName = $postObj->ToUserName;
$time = time();
echo sprintf($textTpl, $fromUserName, $toUserName, $time, 'news');
$ret = array('openid' => "$fromUserName", 'event' => 'subscribe');
return json_encode($ret);
} else if ($postObj->Event == "VIEW") {
$fromUserName = $postObj->FromUserName;
$ret = array('openid' => "$fromUserName", 'event' => 'VIEW');
return json_encode($ret);
} else if ($postObj->Event == "CLICK") {
$fromUserName = $postObj->FromUserName;
$ret = array('openid' => "$fromUserName", 'event' => 'VIEW');
return json_encode($ret);
} else {
$fromUserName = $postObj->FromUserName;
$ret = array('openid' => "$fromUserName", 'event' => 'VIEW');
return json_encode($ret);
}
} else {//$postObj->MsgType=text 在公眾號發(fā)消息收到的就是text類型
echo '';//這里就是回復(fù)的空字符串或者success,即echo 'success';
exit;//這個退出是關(guān)鍵,必須加上,沒有則還是會出現(xiàn)那個標(biāo)題的提示
}
} else {
echo '';
exit;
}
}
問題二是說回復(fù)了異常的json,就是回復(fù)消息時拼的xml中包含了空格,大家可以看下,自己是否也存在類似錯誤。
如:
< ![CDATA[toUser] ]>< ![CDATA[fromUser] ]>12345678< ![CDATA[text] ]>< ![CDATA[你好] ]>
去掉空格后:
12345678
總結(jié)
以上是生活随笔為你收集整理的微擎任意消息该公众号提供的服务器,该公众号提供的服务出现故障,请稍后再试...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毛肚是什么 了解一下毛肚的来历和特点?
- 下一篇: 天然 什么饵料更适合黑坑鲤鱼?