微信公众号获取管理素材列表的大坑-{errcode:40004,errmsg:invalid media type hint:}
问题
最近在做微信公众号的开发(前端后台都有),所以更新系列博文就得推迟了,不过遇到的一些问题还是可以跟大家分享一下,以免大家以后需要用到的时候跟我一样踩坑。
像今天,我在微信公众号的后台-接口权限中看我的权限(个人号),看到个人号有个永久素材管理接口的权限,就想着拿这个接口来做点什么。
那我拿到这个接口的第一件事,我肯定是先尝试获取素材列表啦~微信开放文档的使用说明如下:
于是我马上上手调试:
HashMap<String, String> map = new HashMap<>();map.put("type", ”news“);map.put("offset", "0");map.put("count", "20");HttpResult httpResult = HttpUtil.ofPost("https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + wxBase.getAccessToken().getData(), map);
文档中说到的,需要用 https 的协议,然后需要用到 ACCESS_TOKEN 的字段(关于 access_token 的获取我前面已经有一篇关于公众号开发的博文有说明了,此处不再赘述,而且要确保获取 access_token 的机器访问 ip 在你之前配置的 IP 白名单中)。
好了,看着像没啥问题了,我按照官方的说明,用 post 的方式将封装了所需具备的几个参数的 map 去做列表请求,但是调试的结果是:
{errcode":40004,"errmsg":"invalid media type hint:"}
跟我标题中提到的那样,无论换什么 type 都会提示这个错误。
解决方案
没办法了,思考了一下,http 的参数有键值对和 json 的方式来传递,在前面做微信开发的时候,它们有用到了 xml 以及 json , 那我用 json 试一下?
HttpResult httpResult = HttpUtil.ofPost("https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + wxBase.getAccessToken().getData(), JSON.toJSONString(map));
项目中有用到了 fastjson,我用 fastjson 把原本的 map 对象转成 json 字符串试一下,果然功夫不负有心人啊~
问题解决,访问的图片此处就不贴出来了,大家如果遇到的话可以尝试一下~
By the way
有问题?可以给我留言或私聊
有收获?那就顺手点个赞呗~
当然,也可以到我的公众号下「6曦轩」,
回复“学习”,即可领取一份
【Java工程师进阶架构师的视频教程】~
回复“面试”,可以获得:
【本人呕心沥血整理的 Java 面试题】
回复“MySQL脑图”,可以获得
【MySQL 知识点梳理高清脑图】
曦轩我是科班出身的程序员,php,Android以及硬件方面都做过,不过最后还是选择专注于做 Java,所以有啥问题可以到公众号提问讨论(技术情感倾诉都可以哈哈哈),看到的话会尽快回复,希望可以跟大家共同学习进步,关于服务端架构,Java 核心知识解析,职业生涯,面试总结等文章会不定期坚持推送输出,欢迎大家关注~~~
近期会通过面试问答的形式为大家推送面试相关的知识,如果有什么建议可以在公众号留言~
微信公众号获取管理素材列表的大坑-{errcode:40004,errmsg:invalid media type hint:}相关推荐
- 微信公众号设置白名单不生效, errcode: 40164, errmsg: invalid ip 0.0.0.0, not in whitelist 解决办法!
微信公众号设置白名单不生效, "errcode": 40164, "errmsg": "invalid ip 0.0.0.0, not in ...
- vue 微信公众号获取图片素材接口
看代码 getImage(){this.$http.put(wechatapi+'/token?access-token='+this.token).then((res)=> {var post ...
- 微信公众号之(素材上传)群发消息
微信公众号之(素材上传)群发消息 利用工作之余写写博客,看看博客是个学习的好方法哦! 微信公众号之素材上传群发消息 第一步上传图片视频音频等 第二步上传图文素材 第三步进行群发 第一步上传图片(视频. ...
- 公众号管理系统 html,微信公众号平台管理后台.html
微信公众号平台管理后台 $axure.utils.getTransparentGifPath = function() { return 'resources/images/transparent ...
- 企业微信公众号如何调用视频列表(视频专辑)
有公众号的朋友,看过来,今天来教教大家,在企业微信公众号中如何调用视频列表.先上一个效果吧: 最终效果的截图 -关注酷播公众号,查看实际的应用效果(在本公众号中,点开 [功能应用 > 视频专辑演 ...
- vue 微信公众号获取定位经纬度 腾讯地图逆地址解析为具体地址
最近做项目需要用到 微信公众号获取定位,并将定位转换为具体地址的需求,找了挺多,最后整理下,分享给大家~ 我这里使用的是腾讯地图,也可以使用其他的如百度.高德等. 思路是,先使用微信开放文档的获取定位 ...
- 微信公众号-java上传图片素材到微信服务器基于事件推送两条消息
微信公众号-java上传图片素材到微信服务器&基于事件推送两条消息 场景:基于微信扫码登录/关注事件,向用户推送两条消息. 分析:翻阅了微信开发者文档和一些其他资料发现,公众号针对用户关注/扫 ...
- springboot+h5页面+微信公众号获取微信用户信息
springboot项目,h5页面通过微信公众号获取微信用户信息 最近本人有一个项目需求,微信公众号里点击一个菜单进入一个商城购物系统. 对于在微信公众号还是小白的我来说难度有点大,但是做完后发现也就 ...
- 微信公众号如何实现视频列表播放视频的功能
原创文章,2020-1-7,载转请说明来自CSDN 微信公众号如何实现视频列表播放视频的功能 使用场景要求: 在微信公众号中,添加多个视频,且可实现视频列表的连播功能. 要求观看视频时无广告.稳定流畅 ...
- JAVA版微信公众号获取openId,微信用户信息
一. 前端页面js 1.获取页面传来的数据 function GetQueryString(name) {var reg = new RegExp("(^|&)" + na ...
最新文章
- Cracer渗透视频课程学习笔记——信息搜集
- RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(复杂迷宫)的宝藏位置
- 样条表示---样条表示之间的转换
- ALI的Tensorflow炼成与GAN科普
- 优秀!90后博士做出世界级成果,发32篇SCI,四拿国奖,两获国际荣誉
- Java final修饰符详解
- php ajax练习
- TextWatcher
- 计算机网络的产生与发展可分为哪四个阶段,计算机网络形成与发展大致分为如下4个阶段...
- 加解密QQ旋风和迅雷链接地址
- AI绘画初体验(6pen平台)
- 手机流媒体服务器架设指南
- Failed to introspect Class [com.controller.HardWareController] from ClassLoa在ssm中读取串口信息
- 一篇令所有游戏圈的兄弟汗颜的文章
- reduceByKeyAndWindow基于滑动窗口的热点搜索词实时统计(Scala版本)
- Mockito verify
- Vue2生命周期函数
- Teradata SQL 日期
- 人工智能建立本体库_基于人工智能重构易经八卦
- oracle数据库字段加密解密