微信公眾平台開發者文檔 / 新增永久素材

新增永久素材

新增永久素材

除了3天就会失效的临时素材外,开发者有时需要永久保存一些素材,届时就可以通过本接口新增永久素材。

最近更新,永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。

请注意:

1、新增的永久素材也可以在公众平台官网素材管理模块中看到

2、永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000,其他类型为1000

3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持bmp/png/jpeg/jpg/gif格式,语音大小不超过5M,长度不超过60秒,支持mp3/wma/wav/amr格式

4、调用该接口需https协议

新增永久图文素材

接口调用请求说明

http请求方式: POST

https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=ACCESS_TOKEN

调用示例

{

  "articles": [{

       "title": TITLE,

       "thumb_media_id": THUMB_MEDIA_ID,

       "author": AUTHOR,

       "digest": DIGEST,

       "show_cover_pic": SHOW_COVER_PIC(0 / 1),

       "content": CONTENT,

       "content_source_url": CONTENT_SOURCE_URL

    },

    //若新增的是多图文素材,则此处应还有几段articles结构

 ]

}

参数说明

参数是否必须说明
title标题
thumb_media_id图文消息的封面图片素材id(必须是永久mediaID)
author作者
digest图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空
show_cover_pic是否显示封面,0为false,即不显示,1为true,即显示
content图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS
content_source_url图文消息的原文地址,即点击“阅读原文”后的URL

返回说明

{
  "media_id":MEDIA_ID
}

返回的即为新增的图文消息素材的media_id。

请注意,在图文消息的具体内容中,将过滤外部的图片链接,开发者可以通过下述接口上传图片得到URL,放到图文内容中使用。

上传图文消息内的图片获取URL 请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。

接口调用请求说明

http请求方式: POST

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

调用示例(使用curl命令,用FORM表单方式上传一个图片):

curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN"

参数说明

参数是否必须说明
access_token调用接口凭证
mediaform-data中媒体文件标识,有filename、filelength、content-type等信息

返回说明 正常情况下的返回结果为:

{

    "url":  "http://mmbiz.qpic.cn/mmbiz/gLO17UPS6FS2xsypf378iaNhWacZ1G1UplZYWEYfwvuU6Ont96b1roYs CNFwaRrSaKTPCUdBK9DgEHicsKwWCBRQ/0"

}

其中url就是上传图片的URL,可用于后续群发中,放置到图文消息中。

新增其他类型永久素材

接口调用请求说明

通过POST表单来调用接口,表单id为media,包含需要上传的素材内容,有filename、filelength、content-type等信息。请注意:图片素材将进入公众平台官网素材管理模块中的默认分组。

http请求方式: POST,需使用https

https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE

调用示例(使用curl命令,用FORM表单方式新增一个其他类型的永久素材,curl命令的使用请自行查阅资料)

参数说明

参数是否必须说明
access_token调用接口凭证
type媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
mediaform-data中媒体文件标识,有filename、filelength、content-type等信息

新增永久视频素材需特别注意

在上传视频素材时需要POST另一个表单,id为description,包含素材的描述信息,内容格式为JSON,格式如下:

{
 "title":VIDEO_TITLE,
 "introduction":INTRODUCTION
}

新增永久视频素材的调用示例:

curl "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE" -F media=@media.file -F  description='{"title":VIDEO_TITLE, "introduction":INTRODUCTION}'

参数说明

参数是否必须说明
title视频素材的标题
introduction视频素材的描述

返回说明

{
 "media_id":MEDIA_ID,
 "url":URL
}

返回参数说明

参数描述
media_id新增的永久素材的media_id
url新增的图片素材的图片URL(仅新增图片素材时会返回该字段)

错误情况下的返回JSON数据包示例如下(示例为无效媒体类型错误):

{"errcode":40007,"errmsg":"invalid media_id"}