微信头像图片大全 > 微信易信二次开发

接收到了易信的事件消息,并且按照规定格式返回了xml数据,但是没有弹出消息

收到的易信事件消息

<xml>
<ToUserName><![CDATA[ddc28e3d9f8f0053c3061cd18d77b7a0]]></ToUserName>
<FromUserName><![CDATA[a502f902bb9bde15]]></FromUserName>
<CreateTime>1395362782</CreateTime>
<MsgId>24</MsgId>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[cid449]]></EventKey>
</xml>
返回的输出内容
<xml>
<ToUserName><![CDATA[a502f902bb9bde15]]></ToUserName>
<FromUserName><![CDATA[ddc28e3d9f8f0053c3061cd18d77b7a0]]></FromUserName>
<CreateTime>1395362780</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[【标题标题标题标题标题标题】]]></Title> 
<Description><![CDATA[摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要。]]></Description>
<PicUrl><![CDATA[http://upfile.cache.XXXXX.XX/2014/0221/20140221041124451.jpg]]></PicUrl>
<Url><![CDATA[http://www.XXXXX.XX/list-764-1.html]]></Url>
</item></Articles></xml>

1、要注意XML格式得完全符合官方要求。

2、返回的数据如果带中文,请一定要转换为UTF8编码。


dsscn在3-2109:16回复

您好,是UTF8编码,对照了很多编,没有发现不符合官方要求的地方。


fufay在3-2109:18回复

@dsscn我先做个测试。手头还没代码。


dsscn在3-2109:30回复

@fufay论坛上翻了下,发现不少类似的情况,不过都没个结果或者解决的办法


#2{1}fufay在3-2109:57回复

我测试了下。当然,我收到的是文本消息,没有测试事件消息。

我的测试完全没有问题,客户端能够正常收到NEWS类型消息。


dsscn在3-2110:34回复

格式上对的,发现多输出了个调试信息。。。。现在好了,谢谢

代码片段1:
            case 'Test':
            $aryNews = array(
                array(
                    'title'=>'【标题标题标题标题标题标题】',
                    'description' => '摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要。',
                    'picurl' => 'http://www.ctoffice.net/img/welcome.jpg',
                    'url' => 'http://www.baidu.com'
                )
            );
            return $this->echoNews($obj, $aryNews);
            break;  
代码片段2:
    /*
 * 发送图文消息
 * 注意:图文消息一次不能超过10条;
 */
private function echoNews($obj,$aryNews)
{
    if(!empty($aryNews) && (count($aryNews) < 11))
    {
        // 图文消息模板;
        $re = '<xml>
                <ToUserName><![CDATA['. $obj->FromUserName .']]></ToUserName>
                <FromUserName><![CDATA['. $obj->ToUserName .']]></FromUserName>
                <CreateTime>'. time() .'</CreateTime>
                <MsgType><![CDATA[news]]></MsgType>
                <ArticleCount>'. count($aryNews) .'</ArticleCount>
                <Articles>';
        for($i=0;$i<count($aryNews);$i++)
        {
            $re .= '<item>
                        <Title><![CDATA['. $aryNews[$i]['title'] .']]></Title> 
                        <Description><![CDATA['. $aryNews[$i]['description'] .']]></Description>
                        <PicUrl><![CDATA['. $aryNews[$i]['picurl']  .']]></PicUrl>
                        <Url><![CDATA['. $aryNews[$i]['url']  .']]></Url>
                    </item>';
        }
        $re .= '</Articles></xml>';
        return $re;
    }
    else return '';
}


相关微信公众账号推荐: