Class MediaApi


  • public class MediaApi
    extends MpApi
    素材相关API
    Since:
    JDK 1.6
    Author:
    jinyu(foxinmy@gmail.com)
    • Field Summary

      • Fields inherited from class com.foxinmy.weixin4j.api.BaseApi

        weixinExecutor
    • Constructor Summary

      Constructors 
      Constructor Description
      MediaApi​(com.foxinmy.weixin4j.token.TokenManager tokenManager)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.foxinmy.weixin4j.model.media.MediaCounter countMaterialMedia()
      获取永久媒体素材的总数
      .图片和图文消息素材(包括单图文和多图文)的总数上限为5000,其他素材的总数上限为1000
      com.foxinmy.weixin4j.http.weixin.ApiResult deleteMaterialMedia​(String mediaId)
      删除永久媒体素材
      List<com.foxinmy.weixin4j.tuple.MpArticle> downloadArticle​(String mediaId)
      下载永久图文素材
      com.foxinmy.weixin4j.model.media.MediaDownloadResult downloadMedia​(String mediaId, boolean isMaterial)
      下载媒体素材
      List<com.foxinmy.weixin4j.model.media.MediaItem> listAllMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType)
      获取全部的媒体素材
      com.foxinmy.weixin4j.model.media.MediaRecord listMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType, com.foxinmy.weixin4j.model.paging.Pageable pageable)
      获取媒体素材记录列表
      com.foxinmy.weixin4j.http.weixin.ApiResult updateMaterialArticle​(String mediaId, int index, com.foxinmy.weixin4j.tuple.MpArticle article)
      更新永久图文素材
      String uploadImage​(InputStream is, String fileName)
      上传图片获取URL 请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。
      String uploadMaterialArticle​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles)
      上传永久图文素材
      String uploadMaterialVideo​(InputStream is, String fileName, String title, String introduction)
      上传永久视频素材
      com.foxinmy.weixin4j.model.media.MediaUploadResult uploadMedia​(boolean isMaterial, InputStream is, String fileName)
      上传媒体文件:图片(image)、语音(voice)、视频(video)和缩略图(thumb)
      此接口只包含图片、语音、缩略图、视频(临时)四种媒体类型的上传
      com.foxinmy.weixin4j.tuple.MpVideo uploadVideo​(InputStream is, String fileName, String title, String description)
      上传群发中的视频素材
      • Methods inherited from class com.foxinmy.weixin4j.api.BaseApi

        getRequestUri
    • Constructor Detail

      • MediaApi

        public MediaApi​(com.foxinmy.weixin4j.token.TokenManager tokenManager)
    • Method Detail

      • uploadImage

        public String uploadImage​(InputStream is,
                                  String fileName)
                           throws com.foxinmy.weixin4j.exception.WeixinException
        上传图片获取URL 请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。
        Parameters:
        is - 图片数据流
        fileName - 文件名 为空时将自动生成
        Returns:
        图片URL 可用于群发消息中的图片链接和创建卡券logo链接
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
      • uploadVideo

        public com.foxinmy.weixin4j.tuple.MpVideo uploadVideo​(InputStream is,
                                                              String fileName,
                                                              String title,
                                                              String description)
                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        上传群发中的视频素材
        Parameters:
        is - 图片数据流
        fileName - 文件名 为空时将自动生成
        title - 视频标题 非空
        description - 视频描述 可为空
        Returns:
        群发视频消息对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        高级群发, MpVideo
      • uploadMedia

        public com.foxinmy.weixin4j.model.media.MediaUploadResult uploadMedia​(boolean isMaterial,
                                                                              InputStream is,
                                                                              String fileName)
                                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        上传媒体文件:图片(image)、语音(voice)、视频(video)和缩略图(thumb)
        此接口只包含图片、语音、缩略图、视频(临时)四种媒体类型的上传

        正常情况下返回{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}, 否则抛出异常.

        Parameters:
        isMaterial - 是否永久上传
        is - 媒体数据流
        fileName - 文件名
        Returns:
        上传到微信服务器返回的媒体标识
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        上传临时素材, 上传永久素材, MediaUploadResult, MediaType
      • downloadMedia

        public com.foxinmy.weixin4j.model.media.MediaDownloadResult downloadMedia​(String mediaId,
                                                                                  boolean isMaterial)
                                                                           throws com.foxinmy.weixin4j.exception.WeixinException
        下载媒体素材
        Parameters:
        mediaId - 媒体ID
        isMaterial - 是否下载永久素材
        Returns:
        媒体下载结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaDownloadResult, 下载临时媒体素材, 下载永久媒体素材
      • uploadMaterialArticle

        public String uploadMaterialArticle​(List<com.foxinmy.weixin4j.tuple.MpArticle> articles)
                                     throws com.foxinmy.weixin4j.exception.WeixinException
        上传永久图文素材

        、新增的永久素材也可以在公众平台官网素材管理模块中看到,永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000, 其他类型为1000

        Parameters:
        articles - 图文列表
        Returns:
        上传到微信服务器返回的媒体标识
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        上传永久媒体素材, MpArticle
      • downloadArticle

        public List<com.foxinmy.weixin4j.tuple.MpArticle> downloadArticle​(String mediaId)
                                                                   throws com.foxinmy.weixin4j.exception.WeixinException
        下载永久图文素材
        Parameters:
        mediaId - 媒体ID
        Returns:
        图文列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MpArticle
      • updateMaterialArticle

        public com.foxinmy.weixin4j.http.weixin.ApiResult updateMaterialArticle​(String mediaId,
                                                                                int index,
                                                                                com.foxinmy.weixin4j.tuple.MpArticle article)
                                                                         throws com.foxinmy.weixin4j.exception.WeixinException
        更新永久图文素材
        Parameters:
        mediaId - 要修改的图文消息的id
        index - 要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0
        article - 图文对象
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MpArticle, 更新永久图文素材
      • deleteMaterialMedia

        public com.foxinmy.weixin4j.http.weixin.ApiResult deleteMaterialMedia​(String mediaId)
                                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        删除永久媒体素材
        Parameters:
        mediaId - 媒体素材的media_id
        Returns:
        处理结果
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        删除永久媒体素材
      • uploadMaterialVideo

        public String uploadMaterialVideo​(InputStream is,
                                          String fileName,
                                          String title,
                                          String introduction)
                                   throws com.foxinmy.weixin4j.exception.WeixinException
        上传永久视频素材
        Parameters:
        is - 大小不超过1M且格式为MP4的视频文件
        fileName - 文件名 为空时将自动生成
        title - 视频标题
        introduction - 视频描述
        Returns:
        上传到微信服务器返回的媒体标识
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        上传永久媒体素材
      • countMaterialMedia

        public com.foxinmy.weixin4j.model.media.MediaCounter countMaterialMedia()
                                                                         throws com.foxinmy.weixin4j.exception.WeixinException
        获取永久媒体素材的总数
        .图片和图文消息素材(包括单图文和多图文)的总数上限为5000,其他素材的总数上限为1000
        Returns:
        总数对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaCounter, 获取素材总数
      • listMaterialMedia

        public com.foxinmy.weixin4j.model.media.MediaRecord listMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType,
                                                                              com.foxinmy.weixin4j.model.paging.Pageable pageable)
                                                                       throws com.foxinmy.weixin4j.exception.WeixinException
        获取媒体素材记录列表
        Parameters:
        mediaType - 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
        pageable - 分页数据
        Returns:
        媒体素材的记录对象
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException
        See Also:
        MediaRecord, MediaType, MediaItem, Pageable, Pagedata, 获取素材列表
      • listAllMaterialMedia

        public List<com.foxinmy.weixin4j.model.media.MediaItem> listAllMaterialMedia​(com.foxinmy.weixin4j.type.MediaType mediaType)
                                                                              throws com.foxinmy.weixin4j.exception.WeixinException
        获取全部的媒体素材
        Parameters:
        mediaType - 媒体类型
        Returns:
        素材列表
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException