微信开发之多图文回复微信精选

时间:2015-06-10 13:59:37

之前有同学问怎么通过接收API来回复微信多图文消息,下面就是一个演示,利用天行数据的微信精选API接口,动态回复多图文微信精选消息。

接口地址:http://api.huceo.com

支持格式:JSON/XML        请求方式:HTTP GET/POST 

请求示例:http://api.huceo.com/wxnew/?key=您的key&num=10

效果演示:

微信开发之多图文回复

请求参数:

 名称类型必填说明

num   返回数量 默认10

rand   随机获取文章

key   应用APIKEY


返回字段:

 名称类型说明

code   返回码

msg  返回说明


返回示例:

{
    "code": 200,
    "msg": "ok",
    "newslist": [
        {
            "ctime": "2015-07-17",
            "title": "那个抱走王明涵的,你上微信吗?看完这个你会心软吗?",
            "description": "中国传统文化",
            "picUrl": "http://zxpic.gtimg.com/infonew/0/wechat_pics_-667708.jpg/640",
            "url": "http://mp.weixin.qq.com/s?__biz=MzA3OTg2NjEwNg==&idx=5&mid=209313388&sn=7e30bd2851d22f69580e202c31fc7ecf"
        },
        {
            "ctime": "2015-06-12",
            "title": "深悦地产风云榜丨房地产微信公众号一周榜单",
            "description": "深悦会",
            "picUrl": "http://zxpic.gtimg.com/infonew/0/wechat_pics_-530408.jpg/640",
            "url": "http://mp.weixin.qq.com/s?__biz=MjM5NTI4NDk0Mg==&idx=4&mid=206963932&sn=595e66f68648b86fba04fbc3a58e623c"
        },
        {
            "ctime": "2015-06-14",
            "title": "一条微信向全世界宣告,这就是惠州!",
            "description": "西子湖畔",
            "picUrl": "http://zxpic.gtimg.com/infonew/0/wechat_pics_-536516.jpg/640",
            "url": "http://mp.weixin.qq.com/s?__biz=MjM5NTAzMDQ0MA==&idx=1&mid=209423088&sn=fc5c230b38e4485a01bdc7693714047b"
        },
    ]}


实现方法请结合这篇文章《微信开发实例全注释代码分享》:

1,在function handleText($postObj) //消息关键词处理函数 增加判断:

			if(mb_substr($keyword,0,2,'utf-8') == "新闻"){	
$resultStr = $this->ReNews($postObj); //图文消息处理函数
echo $resultStr;
			 return;  
			}

2,在ReNews()下增加如下代码:

	 	private function ReNews($postObj){  
//消息头模板	 		
$newsTh = "<xml>
                <ToUserName><![CDATA[%s]]></ToUserName>
                <FromUserName><![CDATA[%s]]></FromUserName>
                <CreateTime>%s</CreateTime>
                <MsgType><![CDATA[%s]]></MsgType>
                <ArticleCount>%s</ArticleCount>
                <Articles>";
//消息体模板														
$newsTb = "<item>
                <Title><![CDATA[%s]]></Title> 
                <Description><![CDATA[%s]]></Description>
                <PicUrl><![CDATA[%s]]></PicUrl>
                <Url><![CDATA[%s]]></Url>
                </item>";			
//消息尾模板				
$newsTf = "</Articles>
                <FuncFlag>0</FuncFlag>
                </xml>";
			$msgType = "news";  //消息类型
			$Artic = "10";      //多图文消息数量
//封装消息头格式			
$head = sprintf($newsTh, $postObj->FromUserName, $postObj->ToUserName, time(),$msgType,$Artic);	
//天行数据微信精选数据API		
	    $apiurl = file_get_contents ('http://api.huceo.com/wxnew/?key=您的key&num=3');	
//解析json数据	    
 	    $reg = json_decode ( $apiurl, true );
 	    $txapi =  $reg['newslist'];
//循环赋值 	    
        foreach ($txapi as $newsStr){
//封装消息体格式        
$body .= sprintf($newsTb, $newsStr['title'],$newsStr['description'], $newsStr['picUrl'], $newsStr['url']);
		}		
//封装消息尾格式            $FuncFlag = 0;
$foot = sprintf($newsTf, $FuncFlag);
//返回完整的图文消息数据
        return $head.$body.$foot;	
		}

OK,这样就可以通过调用天行数据微信精选API来动态回复多图文消息了。

本站所有文章均为天行博客原创,转载请注明来源及出处!

作者:宇天行 (关于我

本文首发地址:http://www.huceo.com/post/408.html

或许您还会喜欢这些文章:

Tags: 作者:宇天行 | 分类:开发技术 | 评论:36 | 浏览:8310