微信群发接口 uploadnews content的格式

群发接口 微信的wiki写的很清楚,但是这么清楚的只是主线,实际上实现起来,肯定会遇到些小问题,比如content的格式

https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN

调用此接口post数据格式为

{
   "articles": [
		 {
                        "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
                        "author":"xxx",
			 "title":"Happy Day",
			 "content_source_url":"www.qq.com",
			 "content":"大部分图文消息都是html标签,为毛不放标签示例给我看,哼,不过也清楚的标明了,可支持html",
			 "digest":"digest",
                        "show_cover_pic":"1"
		 },
		 {
                        "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
                        "author":"xxx",
			 "title":"Happy Day",
			 "content_source_url":"www.qq.com",
			 "content":"<a href='http://baidu.com' style='color:red'>杨玲是美女,看到没有,要用单引号,用双引号你就爽了</a>",
			 "digest":"digest",
                        "show_cover_pic":"0"
		 }
   ]
}

  基本上,content里的内容用 ' ,就不会出错了。
但是,实际上操作时,你传过来的content的值是html标签?还是htmlspecialchars()转义过的字符串?(ps:富文本编辑器提交过来的数据,一般是htmlspecialchars()转义过的字符串),那这时 你处理content的值时,就要注意啦,(我就是掉这个坑里的,爬了好多天都特么没有爬出来的)。

  视传过来的content内容而定,以我的为例,可以做如下处理:

$arr_article = array();
$i = 0;
foreach ( $imgs as $img ) {
  $info = htmlspecialchars_decode($info); //将传入content的内容反转义
  $info = str_replace('"',"'", $info); //将双引号替换成单引号

  $arr = array(
	"thumb_media_id" =>  urlencode($mediaids [$i]) ,
	"author" => '',
	"title" => urlencode($img ['title']),
	"content_source_url" => '',
	"content" => urlencode($info),
	"digest" => urlencode($img ['text'])		
		);
   $arr_article[] = $arr;
   $i++;
}
$article = array('articles'=>$arr_article); $data=json_encode($article); //转换为json,即上述正确的格式 $end_data= urldecode($data); // $end_data= htmlspecialchars_decode($end_data); //反转义 $sendrt = $curl->post ( 'https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=' . $access_token, $end_data );

  好啦,我的群发接口写好啦
反思:错误排查上,我没有检查提交过来数据的形式,检查错误要向上、向下查找错误,而不是急躁,乱飞乱撞。确保即使简单的步骤也要正确。

posted on 2015-10-15 09:16  y_php  阅读(744)  评论(0)    收藏  举报