微信invalid media_id hint

2025-10-19 09:45:21

1、>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>..

蕃薯耀 2016年5月19日 09:27:27 星期四

一、问题描述

在【上传图文消息素材】,有一个thumb_media_id的属性,指的是图文消息缩略图的media_id,官方文档解释如下:

 

Js代码  

{  

   "articles": [  

         {  

                        "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",  

                        "author":"xxx",  

             "title":"Happy Day",  

             "content_source_url":"www.qq.com",  

             "content":"content",  

             "digest":"digest",  

                        "show_cover_pic":1  

         },  

         {  

                        "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",  

                        "author":"xxx",  

             "title":"Happy Day",  

             "content_source_url":"www.qq.com",  

             "content":"content",  

             "digest":"digest",  

                        "show_cover_pic":0  

         }  

   ]  

}  

 

参数 是否必须 说明

Articles是图文消息,一个图文消息支持1到8条图文

thumb_media_id是图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得

author否图文消息的作者

title是图文消息的标题

content_source_url否在图文消息页面点击“阅读原文”后的页面

content是图文消息页面的内容,支持HTML标签。具备微信支付权限的公众号,可以使用a标签,其他公众号不能使用

digest否图文消息的描述

show_cover_pic否是否显示封面,1为显示,0为不显示

刚开始以为thumb_media_id是在【新增永久素材】的【新增其他类型永久素材】获得的,因为文档的接口说得很清楚,type类型是有thumb缩略图的,而且利用接口上传,都是可以成功。

接口调用请求说明

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

http请求方式: POST,需使用https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN调用示例(使用curl命令,用FORM表单方式新增一个其他类型的永久素材,curl命令的使用请自行查阅资料)

参数说明

参数 是否必须 说明

access_token是调用接口凭证

type是媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)

media是

form-data中媒体文件标识,有filename、filelength、content-type等信息

 

但是,通过接口https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN获取到的media_id却不能在图文消息中使用。

在上传图文消息时,会发生错误,返回错误码,提示无效的media_id,真的想不明白。

 

Java代码  

{"errcode":40007,"errmsg":"invalid media_id hint: [51TBDa0350sz63]"}  

 

最开始,我使用的素材类型type是image,怀疑是类型的问题,后来改成thumb,但一样还是错误。

经过多次试验失败后,终于在网上搜索到原来是接口的问题。

新增永久素材这个接口获取的media_id不能用做thumb_media_id:

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

而下面这个接口是可以的,但官方文档好像没有这个接口,反正我是没有找到。

http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

通过这个接口上传图片后,能正确返回:

Java代码  

{"type":"thumb","thumb_media_id":"_jj0gTHzhFBa6aKt1KmCFYlDuhg02LaBccun3Ns39tjHprGIQBj44xkyC3nDVjfa","created_at":1463622686}  

 

返回的结果和上传永久素材返回的结果是不一样的,上传永久素材返回的结果如下:

Java代码  

{  

  "media_id":MEDIA_ID,  

  "url":URL  

}  

 

最终使用接口(http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE)上传返回的thumb_media_id上传图文消息是成功的。

但这个接口上传的图上大小是有限制的,图片大小具体是多少不清楚。

上传119KB的图片会提示:invalid meida size hint ,即无效的媒体大小

 

Java代码  

{"errcode":40006,"errmsg":"invalid meida size hint: [nHa_JA0174e298]"}  

 

上传5.33KB的图上即成功,正确返回thumb_media_id。

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>..

蕃薯耀 2016年5月19日 09:27:27 星期四

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢