微信公众号开发---微信接口素材管理

本文介绍了微信公众平台中临时素材与永久素材的管理接口,包括上传、获取、删除等操作细节,以及不同类型的素材如图片、语音、视频的具体限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

素材管理
接口:
/*
临时素材几点注意: 
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,// 本次调用获取的素材的数量
微信公众号开发源码Java是用Java语言编写的用于开发微信公众号的源代码。微信公众号开发是指通过开发者账号申请成为微信公众号开发者,利用微信提供的开发接口和SDK来开发管理公众号。 Java作为一种广泛应用于企业级开发的编程语言,在微信公众号开发中也得到了广泛应用。通过使用Java开发微信公众号,可以实现公众号的业务逻辑,包括用户管理、消息推送、菜单设置、素材管理等功能,以及与其他系统的对接、数据的处理和存储等。 对于开发微信公众号的源码来说,Java源码通常包括了处理微信服务器与开发者服务器之间的消息通信和交互的代码,以及各类功能模块的实现代码。开发者可以根据自己的需求和业务逻辑,使用Java语言编写各种业务逻辑代码,并通过开发工具集成微信提供的SDK库来实现与微信服务器之间的交互。 在Java源码的基础上,开发者还可以根据需要进行定制和扩展,以满足更具体的业务需求。可以添加自定义的功能模块或者对现有功能进行修改和优化,以适应不同的应用场景和业务要求。 总之,微信公众号开发源码Java是用于开发微信公众号的源代码,通过使用Java语言和相应的开发工具,开发者可以自定义和实现具体的业务功能,满足不同用户的需求,并与微信服务器进行消息交互,为用户提供更好的微信公众号服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值