最近,需要做一个向微信公众号的订阅号上推送数据的业务,翻着开发者文档了解一下,
遇到很多坑,以我的业务为例,大概的解释一下
1.首先需要进入微信公众号注册平台注册一个公众号,选择订阅号,邮箱注册一下。网址链接:https://mp.weixin.qq.com/
2.然后进入,在页面左下角找到开发者工具,进入选择公众平台测试账号。找到appid和appscret。
3.然后通过调用https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret接口,获取access_token。
4.然后上传临时素材,并获取临时素材的id。接口调用:https://api.weixin.qq.com/cgi-bin/media/upload?access_token=AccessToken&type=fileType 其中type表示文件类型,大概分为以下几种,都有大小格式限制,在此以缩略图为例。上传时需要将图片路径以及图片名上传到微信服务器,并接收返回值的media_id。
图片(image): 2M,支持PNG\JPEG\JPG\GIF格式
语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
视频(video):10MB,支持MP4格式
缩略图(thumb):64KB,支持JPG格式
5.然后上传主图,类型为image,
调用接口:https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=AccessToken ,通过上传图片名及图片位置,获取此主图的url。
6.然后上传图文消息,调用:https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=AccessToken, 通过上传json数据获取返回值mediaid,json内容如下
参数说明:
返回值如下:
7.预览发送
调用接口:https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=access_token ,上传json数据如下
然后获取的返回值如下,
由此完成数据推送业务。
但是个人公众号是不允许群发的,所以只有企业或者组织什么的才能通过认证,才能群发,但群发每天只能发一条
若企业公众号通过认证之后,可通过一下,来群发消息
群发接口:https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN 请求方式为post
请求体body的json数据为:
返回值为:
由此,完成群发。
详细开发文档,可参阅,https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1481187827_i0l21