200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 微信单条图文信息 php 微信公众号开发——消息群发接口实现

微信单条图文信息 php 微信公众号开发——消息群发接口实现

时间:2020-05-27 11:50:20

相关推荐

微信单条图文信息 php 微信公众号开发——消息群发接口实现

摘要:在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力。

在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力。

【注意】1、对于认证订阅号,群发接口每天可成功调用1次,此次群发可选择发送给全部用户或某个标签;

2、对于认证服务号虽然开发者使用高级群发接口的每日调用限制为100次,但是用户每月只能接收4条,无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败;

3、开发者可以使用预览接口校对消息样式和排版,通过预览接口可发送编辑好的消息给指定用户校验效果;

4、群发过程中,微信后台会自动进行图文消息原创校验,请提前设置好相关参数(send_ignore等);

5、开发者可以主动设置clientmsgid来避免重复推送。

6、群发接口每分钟限制请求60次,超过限制的请求会被拒绝。

7、图文消息正文中插入自己帐号和其他公众号已群发文章链接的能力。

因为公众平台有每天群发消息的限制(订阅号每天一条,服务号一个月4条),而公众平台为开发者提供了预览接口,每天可调用100次,因此我们在开发时,可以用预览接口发送消息给指定用户,然后在手机端查看排版样式。

预览接口:http请求方式:POST

https://api./cgi-bin/message/mass/preview?access_token=ACCESS_TOKEN

群发消息接口实现://群发消息

publicfunctionsdMsg()

{

$accessToken=$this->_getWxAccessToken();

echo"$accessToken";

echo"

";

$url='https://api./cgi-bin/message/mass/preview?access_token='.$accessToken;

//单文本消息

$arr=[

'touser'=>'***',//openid用微信扫描测试号,用户列表下的微信号

'text'=>[

'content'=>urlencode('心月IT博客公众号群发消息测试'),

],

'msgtype'=>'text',

];

//图片消息

//$arr=[

//"touser"=>"o3anQ1BcB1g2C5jFEgrXb3m7lSps",

//"image"=>[

//"media_id"=>"BTgN0opcW3Y5zV_ZebbsD3NFKRWf6cb7OPswPi9Q83fOJHK2P67dzxn11Cp7THat",

//],

//"msgtype"=>"image",

//];

$postJson=urldecode(json_encode($arr));

echo"

";

echo"$postJson";

$res=$this->ch($url,'post','json',$postJson);

dump($res);

}

privatefunctionch($url,$type='get',$res='json',$arr='')

{

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);

if($type=='post'){

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,$arr);

}

$cnt=curl_exec($ch);

if(curl_errno($ch)){

return;

}

curl_close($ch);

if($res=='json'){

returnjson_decode($cnt,true);

}

return$cnt;

}

直接调用 sdMsg() 接口就可以实现消息群发。

群发图片消息示例:

文本消息json格式:{

"touser":"OPENID",

"text":{

"content":"CONTENT"

},

"msgtype":"text"

}

群发消息,除了单文本还可以发送其他的消息,其他消息发送的json格式:

图文消息(其中media_id与根据分组群发中的media_id相同):{

"touser":"OPENID",

"mpnews":{

"media_id":"123dsdajkasd231jhksad"

},

"msgtype":"mpnews"

}

语音(其中media_id与根据分组群发中的media_id相同):{

"touser":"OPENID",

"voice":{

"media_id":"123dsdajkasd231jhksad"

},

"msgtype":"voice"

}

图片(其中media_id与根据分组群发中的media_id相同):{

"touser":"OPENID",

"image":{

"media_id":"123dsdajkasd231jhksad"

},

"msgtype":"image"

}

视频(其中media_id与根据分组群发中的media_id相同):{

"touser":"OPENID",

"mpvideo":{"media_id":"IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc",

},

"msgtype":"mpvideo"

}

卡券:{"touser":"OPENID",

"wxcard":{

"card_id":"123dsdajkasd231jhksad",

"card_ext":"{"code":"","openid":"","timestamp":"1402057159","signature":"017bb17407c8e0058a66d72dcc61632b70f511ad"}"

},

"msgtype":"wxcard"

}

在实际开发中可以参照文本消息,把你要发送的消息类型用数组表示出来,然后在通过json_encode 转换成 json。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。