平时运营微信公众平台时有没发现素材管理有点不太好操作,特别是素材一多,找个东西都翻半天。现在好了,微信宣布公众平台新增素材管理接口,对所有认证公众号开放,方便快捷,可以实现同步互通。(4.29更新第三方平台也能为未微信认证的订阅号调用自定义菜单接口和素材管理接口)

  微信公众平台素材管理接口具体如下:

  1. 新增临时素材

    公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。

    通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。但请注意,每个多媒体文件(media_id)会在开发者上传或粉丝发送到微信服务器3天后自动删除(所以用户发送给开发者的素材,若开发者需要,应尽快下载到本地),以节省服务器资源。请注意,media_id是可复用的。

    本接口即为原“上传多媒体文件”接口。

    接口调用请求说明

    http请求方式: POST/FORM,需使用https
    https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
    调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):
    curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"
    

    参数说明

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

    返回说明

    正确情况下的返回JSON数据包结果如下:

    {"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}
    
    参数 描述
    type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb,主要用于视频与音乐格式的缩略图)
    media_id 媒体文件上传后,获取时的唯一标识
    created_at 媒体文件上传时间戳

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

    {"errcode":40004,"errmsg":"invalid media type"}
    

    注意事项

    上传的临时多媒体文件有格式和大小限制,如下:

    • 图片(image): 1M,支持JPG格式
    • 语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
    • 视频(video):10MB,支持MP4格式
    • 缩略图(thumb):64KB,支持JPG格式

    媒体文件在后台保存时间为3天,即3天后media_id失效。

  2. 获取临时素材

    公众号可以使用本接口获取临时素材(即下载临时的多媒体文件)。请注意,视频文件不支持https下载,调用该接口需http协议。

    本接口即为原“下载多媒体文件”接口。

    接口调用请求说明

    http请求方式: GET,https调用
    https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
    请求示例(示例为通过curl命令获取多媒体文件)
    curl -I -G "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
    

    参数说明

    参数 是否必须 说明
    access_token 调用接口凭证
    media_id 媒体文件ID

    返回说明

    正确情况下的返回HTTP头如下:

    HTTP/1.1 200 OK
    Connection: close
    Content-Type: image/jpeg
    Content-disposition: attachment; filename="MEDIA_ID.jpg"
    Date: Sun, 06 Jan 2013 10:20:18 GMT
    Cache-Control: no-cache, must-revalidate
    Content-Length: 339721
    curl -G "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
    

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

    {"errcode":40007,"errmsg":"invalid media_id"}
  3. 新增永久素材

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

    请注意:

    1、新增的永久素材也可以在公众平台官网素材管理模块中看到
    2、永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000,其他类型为1000
    3、调用该接口需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。

    新增其他类型永久素材

    接口调用请求说明

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

    http请求方式: POST
    http://file.api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN
    调用示例(使用curl命令,用FORM表单方式新增一个其他类型的永久素材):
    curl -F media=@test.jpg "http://file.api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN"
    

    参数说明

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

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

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

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

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

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

    参数说明

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

    返回说明

    {"media_id":MEDIA_ID
    }
    

    返回参数说明

    参数 描述
    media_id 新增的永久素材的media_id

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

    {"errcode":40007,"errmsg":"invalid media_id"}
  4. 获取永久素材

    在新增了永久素材后,开发者可以根据media_id来获取永久素材,需要时也可保存到本地。

    请注意:

    1、获取永久素材也可以获取公众号在公众平台官网素材管理模块中新建的图文消息、语音、视频等素材(但需要先通过获取素材列表来获知素材的media_id)
    2、临时素材无法通过本接口获取
    3、调用该接口需https协议
    

    接口调用请求说明

    http请求方式: POST,https调用
    https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN
    

    调用示例

    {
    "media_id":MEDIA_ID
    }
    

    参数说明

    参数 是否必须 说明
    access_token 调用接口凭证
    media_id 要获取的素材的media_id

    返回说明

    如果请求的素材为图文消息,则响应如下:

    {"news_item":[{"title":TITLE,"thumb_media_id"::THUMB_MEDIA_ID,"show_cover_pic":SHOW_COVER_PIC(0/1),"author":AUTHOR,"digest":DIGEST,"content":CONTENT,"content_source_url":CONTENT_SOURCE_URL},//多图文消息有多篇文章]
    }
    

    其他类型的素材消息,则响应的直接为素材的内容,开发者可以自行保存为文件。例如:

    示例
    curl "https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=ACCESS_TOKEN" -d '{"media_id":"61224425"}' > file
    

    返回参数说明

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

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

    {"errcode":40007,"errmsg":"invalid media_id"}
    
  5. 删除永久素材

    在新增了永久素材后,开发者可以根据本接口来删除不再需要的永久素材,节省空间。

    请注意:

    1、请谨慎操作本接口,因为它可以删除公众号在公众平台官网素材管理模块中新建的图文消息、语音、视频等素材(但需要先通过获取素材列表来获知素材的media_id)
    2、临时素材无法通过本接口删除
    3、调用该接口需https协议
    

    接口调用请求说明

    http请求方式: POST
    https://api.weixin.qq.com/cgi-bin/material/del_material?access_token=ACCESS_TOKEN
    

    调用示例

    {
    "media_id":MEDIA_ID
    }
    

    参数说明

    参数 是否必须 说明
    access_token 调用接口凭证
    media_id 要获取的素材的media_id

    返回说明

    {"errcode":ERRCODE,"errmsg":ERRMSG
    }
    

    正常情况下调用成功时,errcode将为0。

  6. 修改永久图文素材

    开发者可以通过本接口对永久图文素材进行修改。

    请注意:

    1、也可以在公众平台官网素材管理模块中保存的图文消息(永久图文素材)
    2、调用该接口需https协议
    

    接口调用请求说明

    http请求方式: POST
    https://api.weixin.qq.com/cgi-bin/material/update_news?access_token=ACCESS_TOKEN
    

    调用示例

    {"media_id":MEDIA_ID,"index":INDEX,"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结构]
    }
    

    参数说明

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

    返回说明

    {"errcode": ERRCODE,"errmsg": ERRMSG
    }
    

    正确时errcode的值应为0。

  7. 获取素材总数

    开发者可以根据本接口来获取永久素材的列表,需要时也可保存到本地。

    请注意:

    1.永久素材的总数,也会计算公众平台官网素材管理中的素材
    2.图片和图文消息素材(包括单图文和多图文)的总数上限为5000,其他素材的总数上限为1000
    3.调用该接口需https协议
    

    接口调用请求说明

    http请求方式: GET
    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
    }
    

    返回参数说明

    参数 描述
    voice_count 语音总数量
    video_count 视频总数量
    image_count 图片总数量
    news_count 图文总数量

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

    {"errcode":-1,"errmsg":"system error"}
  8. 获取素材列表

    在新增了永久素材后,开发者可以分类型获取永久素材的列表。(这里有 如何快速查找微信公众平台的历史图文消息素材 的小方法,是在公众平台上的,不是第三方网站的)

    请注意:

    1、获取永久素材的列表,也会包含公众号在公众平台官网素材管理模块中新建的图文消息、语音、视频等素材(但需要先通过获取素材列表来获知素材的media_id)
    2、临时素材无法通过本接口获取
    3、调用该接口需https协议
    

    接口调用请求说明

    http请求方式: POST
    https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN
    

    调用示例

    {"type":TYPE,"offset":OFFSET,"count":COUNT
    }
    

    参数说明

    参数 是否必须 说明
    type 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
    offset 从全部素材的该偏移位置开始返回,0表示从第一个素材 返回
    count 返回素材的数量,取值在1到20之间

    返回说明

    永久图文消息素材列表的响应如下:

    {"total_count": TOTAL_COUNT,"item_count": ITEM_COUNT,"item": [{"media_id": MEDIA_ID,"content": {"news_item": [{"title": TITLE,"thumb_media_id": THUMB_MEDIA_ID,"show_cover_pic": SHOW_COVER_PIC(0 / 1),"author": AUTHOR,"digest": DIGEST,"content": CONTENT,"content_source_url": CONTETN_SOURCE_URL},//多图文消息会在此处有多篇文章]},"update_time": UPDATE_TIME},//可能有多个图文消息item结构]
    }
    

    其他类型(图片、语音、视频)的返回如下:

    {"total_count": TOTAL_COUNT,"item_count": ITEM_COUNT,"item": [{"media_id": MEDIA_ID,"name": NAME,"update_time": UPDATE_TIME},//可能会有多个素材]
    }
    

    返回参数说明

    参数 描述
    total_count 该类型的素材的总数
    item_count 本次调用获取的素材的数量
    title 图文消息的标题
    thumb_media_id 图文消息的封面图片素材id(必须是永久mediaID)
    show_cover_pic 是否显示封面,0为false,即不显示,1为true,即显示
    author 作者
    digest 图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空
    content 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS
    content_source_url 图文消息的原文地址,即点击“阅读原文”后的URL
    update_time 这篇图文消息素材的最后更新时间
    name 文件名称

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

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

转载于:https://www.cnblogs.com/ytkah/p/4352836.html

第三方平台可以通过微信公众平台素材管理接口实现同步了相关推荐

  1. PHP curl模拟表单上传文件 微信公众号素材管理接口crul文件上传核心源码

    PHP curl模拟表单上传文件  微信公众号素材管理接口crul文件上传核心源码 /*** curl 上传文件* @param $url* @param $filePath* @param stri ...

  2. 第三方网站不能调用微信公众平台里的图片了 显示此图片来自微信公众号平台未经允许不可引用...

    下午ytkah在自己小博客搜索时看到有几篇文章图片显示不了,再访问一些网站时发现有些图片无法显示出来,显示"此图片来自微信公众号平台未经允许不可引用",如下图所示,这个应该是最近微 ...

  3. 微信公众平台 图片 java_Java微信公众平台之素材管理

    微信素材管理和群发这块文档对Java很不友好.本文只对新增临时素材,新增永久素材做介绍,其余获取.删除.修改自行补充 公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时, ...

  4. 微信平台更改html,微信公众平台.html

     微信公众平台 $axure.utils.getTransparentGifPath = function() { return 'resources/images/transparent.gif' ...

  5. php如何与微信公众平台连接失败,微信公众平台接入问题,配置失败不知道是哪的原因?...

    想接入微信平台实现远程控制家里面点灯打开,用的是新浪云应用,现在的问题是新浪的云应用平台搭建好了(应该有错误),和微信配置连接失败.求大神帮我看看哪出问题了.附代码: downup.php:<? ...

  6. 微信公众平台python_python搭建微信公众平台

    python基于新浪sae开发的微信公众平台,实现功能: 输入段子---回复笑话 输入开源+文章---发送消息到开源中国 输入快递+订单号---查询快递信息 输入天气---查询南京最近五天天气状况 输 ...

  7. 公众平台 java_java开发微信公众平台

    <java开发微信公众平台>由会员分享,可在线阅读,更多相关<java开发微信公众平台(31页珍藏版)>请在人人文库网上搜索. 1.java开发微信公众平台响应消息的基类同样, ...

  8. php微信开放平台获取openid,微信公众平台获取openid

    微信公众平台可以通过接口获取用户的openid,但是获取用户信息的时候需要做一次跳转. 我在后台有一张用户表,用户如果关注了公众平台就将他的信息录入到数据库,包括openid.现在要做一个简单的系统, ...

  9. java微信公众平台在线点歌,微信公众平台开发教程之在线音乐/在线点歌

    微信公众平台在年前开放了新的消息接口-音乐消息,这是广大微信公众平台开发者的福音. 根据这一功能,如果能做出在微信中点歌功能,那么我们以后就可以不用安装其他APP, 直接在微信里面关注一个账号,就可以 ...

  10. 微信公众平台签名php,微信公众平台消息接口开发(29)校验签名与消息响应合并_PHP教程...

    微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 签名校验 消息响应 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/archive/2013/05/0 ...

最新文章

  1. zookeeper模拟监控服务节点宕机
  2. window下建立vue.js项目
  3. c语言循环结构程序设计视频,第13讲:循环结构程序设计1
  4. Java反射之内部类
  5. Jenkins邮件配置,实现邮件发送策略(可实现每个Job对应不同的发送邮箱)
  6. 世界四大重要检索系统简介
  7. 在java程序中使用protobuf
  8. Nifi清空Queue操作
  9. 简体中文 Windows 7 Beta 体验(图)
  10. 你听过算法也是可以贪心的吗?
  11. GitHub 一周热点速览:前后端最佳实践
  12. 应用Rational 工具简化基于J2EE的项目(一)
  13. php memcached 加锁,用memcached实现的php锁机制
  14. Java八股文(高阶)背诵版
  15. 大厂年薪几十万,但是5-8年外包程序员,年薪是多少你知道吗?
  16. 520送什么礼物好呢、适合送女友的礼物推荐
  17. 如何使用微软提供的TCHAR.H头文件?
  18. crontab命令格式详细说明与常用各种写法总结
  19. 【算法】leetcode-838 推多米诺
  20. java swing 聊天表情功能的实现(带完整代码)

热门文章

  1. 查询计算机物理地址指令,怎么查询mac地址命令_如何查mac地址
  2. 2018年Google开发者大会
  3. 科大讯飞,百度,思必驰,云知声四款识别引擎降噪算法性能对比
  4. linux那些事儿 pdf,[转] linux那些事儿之我是HUB - PDF文件
  5. Android-N自动旋转屏幕
  6. IT-梦想|永无止境
  7. 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
  8. 2019年会总结+自我反思
  9. 不同音乐格式之谜(wav,flac,ape,wv,tak,ogg,aac)
  10. 如何用ping 命令简单测试网速