微信接口-素材管理

素材管理
接口:
/*
临时素材几点注意:
1.对于临时素材,每个素材(media_id)会在开发者上传或粉丝发送到微信服务器3天后自动删除(所以用户发送给开发者的素材,若开发者需要,应尽快下载到本地),以节省服务器资源(对于用户上传的临时素材,我们是不是得有事件来记录到表中??如果想下载用户上传的素材应该得这么做吧)
2.type类型及限制:
图片(image): 2M,支持JPG格式
   语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
   视频(video):10MB,支持MP4格式
   缩略图(thumb):64KB,支持JPG格式
3.媒体文件在后台保存时间为3天,即3天后media_id失效。
*/


1>新增临时素材 - (订阅号与服务号认证后均可用)
api_url:
https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
参数:
type - 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
media = @imgUrl;
返回值:
{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789} // 区别于 "永久素材",返回了 "创建时间",我们可以定位素材的过期时间还剩多久。。


2>获取临时素材 - (订阅号与服务号认证后均可用)
api_url:
https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID


/*
永久素材几点注意:
1.永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。
2.图文消息素材和图片素材的上限为5000,其他类型为1000
3.type类型及限制:
图片(image): 2M,支持bmp/png/jpeg/jpg/gif格式
   语音(voice):5M,播放长度不超过60s,支持mp3/wma/wav/amr格式
   视频(video):20MB,支持rm,rmvb,wmv,avi,mpg,mpeg,mp4 格式
   缩略图(thumb):64KB,支持JPG格式
*/


3>新增永久图文素材 - (订阅号与服务号认证后均可用)
api_url:
https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=ACCESS_TOKEN
参数:
{
articles : [
{
      "title": 标题,
      "thumb_media_id": 图文消息的封面图片素材id(必须是永久mediaID), // 这个得注意下
      "author": 作者,
      "digest": 图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空, // 多图文,digest = ''
      "show_cover_pic": 是否显示封面,0为false,即不显示,1为true,即显示,
      "content": 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS, // 注意这几个条件
      "content_source_url": 图文消息的原文地址,即点击“阅读原文”后的URL // 不填写,应该是没有 '阅读原文' 链接
},
{},
...
]
}
/*
切记:
1.在图文消息的具体内容中,微信将过滤外部的图片链接!!!!
2.为了让外部图片,可以存在,我们得将外部图片,转换成微信内部图片,调用下面的接口:
-------------------------------------------------------------
上传图文消息内的图片获取URL - (订阅号与服务号认证后均可用)
-- 本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制 - 切记!
-- 图片仅支持jpg/png格式 - 切记!
-- 大小必须在1MB以下 - 切记!
api_url:
https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN
参数:
media = @imgUrl;
返回值:
{url : xxx}
*/


4>新增其他(非图文)永久素材 - (订阅号与服务号认证后均可用)
api_url:
https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE
参数:
type - 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
media = @imgUrl;
/*
对于视频素材,还需要填写2个参数:
title - 视频素材的标题
introduction - 视频素材的描述
*/
返回值:
{"media_id":"MEDIA_ID", "url": 'url地址'} // 新增的图片素材的图片URL(仅新增图片素材时会返回该字段)


5>获取单个永久素材
api_url:
https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN
参数:
media_id - 要获取的素材的media_id
返回值:
分3类:
1.图文
2.视频
{
"title":TITLE,
"description":DESCRIPTION,
"down_url":DOWN_URL,
}
3.其他类型,返回的直接是内容,我们可以直接 file_put_contents() 写入到本地文件


6>删除单个永久素材
api_url:
https://api.weixin.qq.com/cgi-bin/material/del_material?access_token=ACCESS_TOKEN
参数:
media_id - 要删除的素材的media_id


7>修改永久图文素材
api_url:
https://api.weixin.qq.com/cgi-bin/material/update_news?access_token=ACCESS_TOKEN
参数:
media_id // 要修改的图文消息的id
index // 要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0
/*
注意点:
1.只有永久图文素材,才能修改
2.图文素材的修改,只能是对其中一条一条的条目进行修改,所以必须传入 'index',从0开始
*/


8>获取素材总数
api_url:
https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token=ACCESS_TOKEN
返回值:
{
"voice_count":COUNT, // 语音总数量
"video_count":COUNT, // 视频总数量
"image_count":COUNT, // 图片总数量
"news_count":COUNT // 图文总数量
}


9>获取素材列表
api_url:
https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN
参数:
{
  "type":TYPE, // 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
  "offset":OFFSET, // 从全部素材的该偏移位置开始返回,0表示从第一个素材 返回
  "count":COUNT // 返回素材的数量,取值在1到20之间 - 每次获取最多20条
}
返回值:
详细看文档,这里提2个:
"total_count": TOTAL_COUNT, // 该类型的素材的总数
  "item_count": ITEM_COUNT, // 本次调用获取的素材的数量

你可能感兴趣的:(微信)