PHP開發微信被動回復消息遇到的大坑


最近開始做CMS后台與微信公眾號的整合,在做被動回復消息時,按照官方文檔的XML格式回復消息,總是提示“該公眾號提供的服務出現故障,請稍后再試”。但是通過微信提供的接口調試工具看我的接口貌似也沒什么問題,給出的提示也是請求成功。

最后認真學習了其它網友的方案,才發現官方文檔上提供的XML格式有問題,稍微修改后就可以正常的收到自定義的被動消息回復了,如果有和我類似情況的朋友,一定要注意下面XML格式啊。

我的后台是PHP,核心代碼很簡單。

    $HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
    $post_obj = simplexml_load_string($HTTP_RAW_POST_DATA, 'SimpleXMLElement', LIBXML_NOCDATA);

    $msg_type = $post_obj->MsgType;

    switch ($msg_type) {
        case 'text':
            $keyword = trim($post_obj->Content);
            $msg_tpl = '<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content></xml>';
            $result =  sprintf($msg_tpl,$post_obj->FromUserName, $post_obj->ToUserName, time(), '歡迎訪問大江小浪!');
            echo $result;
            return;
            break;
        
        default:
            # code...
            break;
    }

下面是能夠正常回復的效果。

本文為作者原創,如果您覺得本文對您有幫助,請隨意打賞,您的支持將鼓勵我繼續創作。

參考資料:
1、微信公眾平台 被動回復消息
2、php版微信開發之接收消息,自動判斷及回復相應消息的方法
3、微信開發被動回復消息:該公眾號暫時無法提供服務,請稍后再試
4、微信被動回復用戶消息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM