日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微擎任意消息该公众号提供的服务器,该公众号提供的服务出现故障,请稍后再试...

發布時間:2024/10/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微擎任意消息该公众号提供的服务器,该公众号提供的服务出现故障,请稍后再试... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

image.png

用戶發送消息給公眾號時,假如服務器無法保證在五秒內處理并回復,必須做出下述回復,這樣微信服務器才不會對此作任何處理,并且不會發起重試(這種情況下,可以使用客服消息接口進行異步回復),否則,將出現嚴重的錯誤提示。

一旦遇到以下2種情況,微信都會在公眾號會話中,向用戶下發系統提示“該公眾號暫時無法提供服務,請稍后再試”:

1、開發者在5秒內未回復任何內容

2、開發者回復了異常數據,比如JSON數據等

所以針對公眾號提出的可能存在的問題1,給出以下解決方式:

1、直接回復success(推薦方式)

2、直接回復空串(指字節長度為0的空字符串,而不是XML結構體中content字段的內容為空)

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

//關注事件時推送消息

if (strtolower($postObj->MsgType) == 'event') {//事件

if (strtolower($postObj->Event == 'subscribe')) {//關注

$domain = Yii::$app->params['domain']['www'];

$imgDomain = Yii::$app->params['domain']['img'] . 'logo.png';

$array = array(

array('title' => '歡迎關注一網超市',

'description' => '上一網 逛超市 多快好省!',

'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 在公眾號發消息收到的就是text類型

echo '';//這里就是回復的空字符串或者success,即echo 'success';

exit;//這個退出是關鍵,必須加上,沒有則還是會出現那個標題的提示

}

} else {

echo '';

exit;

}

}

問題二是說回復了異常的json,就是回復消息時拼的xml中包含了空格,大家可以看下,自己是否也存在類似錯誤。

如:

< ![CDATA[toUser] ]>< ![CDATA[fromUser] ]>12345678< ![CDATA[text] ]>< ![CDATA[你好] ]>

去掉空格后:

12345678

總結

以上是生活随笔為你收集整理的微擎任意消息该公众号提供的服务器,该公众号提供的服务出现故障,请稍后再试...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。