问题

最近在做微信公众号的开发(前端后台都有),所以更新系列博文就得推迟了,不过遇到的一些问题还是可以跟大家分享一下,以免大家以后需要用到的时候跟我一样踩坑。

像今天,我在微信公众号的后台-接口权限中看我的权限(个人号),看到个人号有个永久素材管理接口的权限,就想着拿这个接口来做点什么。

那我拿到这个接口的第一件事,我肯定是先尝试获取素材列表啦~微信开放文档的使用说明如下:

于是我马上上手调试:

     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:}相关推荐

  1. 微信公众号设置白名单不生效, errcode: 40164, errmsg: invalid ip 0.0.0.0, not in whitelist 解决办法!

    微信公众号设置白名单不生效, "errcode": 40164,      "errmsg": "invalid ip 0.0.0.0, not in ...

  2. vue 微信公众号获取图片素材接口

    看代码 getImage(){this.$http.put(wechatapi+'/token?access-token='+this.token).then((res)=> {var post ...

  3. 微信公众号之(素材上传)群发消息

    微信公众号之(素材上传)群发消息 利用工作之余写写博客,看看博客是个学习的好方法哦! 微信公众号之素材上传群发消息 第一步上传图片视频音频等 第二步上传图文素材 第三步进行群发 第一步上传图片(视频. ...

  4. 公众号管理系统 html,微信公众号平台管理后台.html

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

  5. 企业微信公众号如何调用视频列表(视频专辑)

    有公众号的朋友,看过来,今天来教教大家,在企业微信公众号中如何调用视频列表.先上一个效果吧: 最终效果的截图 -关注酷播公众号,查看实际的应用效果(在本公众号中,点开 [功能应用 > 视频专辑演 ...

  6. vue 微信公众号获取定位经纬度 腾讯地图逆地址解析为具体地址

    最近做项目需要用到 微信公众号获取定位,并将定位转换为具体地址的需求,找了挺多,最后整理下,分享给大家~ 我这里使用的是腾讯地图,也可以使用其他的如百度.高德等. 思路是,先使用微信开放文档的获取定位 ...

  7. 微信公众号-java上传图片素材到微信服务器基于事件推送两条消息

    微信公众号-java上传图片素材到微信服务器&基于事件推送两条消息 场景:基于微信扫码登录/关注事件,向用户推送两条消息. 分析:翻阅了微信开发者文档和一些其他资料发现,公众号针对用户关注/扫 ...

  8. springboot+h5页面+微信公众号获取微信用户信息

    springboot项目,h5页面通过微信公众号获取微信用户信息 最近本人有一个项目需求,微信公众号里点击一个菜单进入一个商城购物系统. 对于在微信公众号还是小白的我来说难度有点大,但是做完后发现也就 ...

  9. 微信公众号如何实现视频列表播放视频的功能

    原创文章,2020-1-7,载转请说明来自CSDN 微信公众号如何实现视频列表播放视频的功能 使用场景要求: 在微信公众号中,添加多个视频,且可实现视频列表的连播功能. 要求观看视频时无广告.稳定流畅 ...

  10. JAVA版微信公众号获取openId,微信用户信息

    一. 前端页面js 1.获取页面传来的数据 function GetQueryString(name) {var reg = new RegExp("(^|&)" + na ...

最新文章

  1. Cracer渗透视频课程学习笔记——信息搜集
  2. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(复杂迷宫)的宝藏位置
  3. 样条表示---样条表示之间的转换
  4. ALI的Tensorflow炼成与GAN科普
  5. 优秀!90后博士做出世界级成果,发32篇SCI,四拿国奖,两获国际荣誉
  6. Java final修饰符详解
  7. php ajax练习
  8. TextWatcher
  9. 计算机网络的产生与发展可分为哪四个阶段,计算机网络形成与发展大致分为如下4个阶段...
  10. 加解密QQ旋风和迅雷链接地址
  11. AI绘画初体验(6pen平台)
  12. 手机流媒体服务器架设指南
  13. Failed to introspect Class [com.controller.HardWareController] from ClassLoa在ssm中读取串口信息
  14. 一篇令所有游戏圈的兄弟汗颜的文章
  15. reduceByKeyAndWindow基于滑动窗口的热点搜索词实时统计(Scala版本)
  16. Mockito verify
  17. Vue2生命周期函数
  18. Teradata SQL 日期
  19. 人工智能建立本体库_基于人工智能重构易经八卦
  20. oracle数据库字段加密解密

热门文章

  1. python 抓取 实时公交_Python实现命令行监控北京实时公交之一
  2. Tier1 OEM ODM 区别
  3. BSOJ 2927 -- 【模拟试题】保镖排队
  4. 数字电路实验 01 - | TTL门电路的逻辑功能测试
  5. 三级联动下拉框(省市县)存储数据库,包含信息回填
  6. java基于ssm的在线装机DIY系统的分析与设计
  7. C++游戏编程-走迷宫详解
  8. PyCharm取消波浪线、下划线和中划线
  9. RTF转HTML(<div>标签)格式的方法(java)
  10. AH快递单打印管理软件