参考文档:https://wechatpy.readthedocs.io/zh_CN/master/index.html

class WeChatClient(BaseWeChatClient):"""微信 API 操作类通过这个类可以操作微信 API,发送主动消息、群发消息和创建自定义菜单等。"""

在本章节中,先以素材资源管理为例,先掌握对素材资源的管理,为后面章节中应答消息,主动发送消息等场景中使用素材资源做准数据准备。

实例化WechatClient

from wechatpy.client import WeChatClient
app = {"appid": "wx3a07084cc1a11915","appsecret": "8f9a6bb1f66b59aa705ecd9938a3874c"
}
wx = WeChatClient(app.get("appid"), app.get("appsecret"))

上传临时媒体素材接口 media

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

上传临时图片

resp = wx.media.upload("image", open("D://666.png", "rb"))
print(resp)
{'type': 'image','media_id': '1pnGyv1G8nGdT2A9Thm70I-n7_cQ9CuE-6Jj3tTGdWxpE6IFU5q1GNS6JHEDynqL','created_at': 1557050593
}

上传临时缩略图

resp = wx.media.upload("thumb", open("D://wx.jpg", "rb"))
print(resp)
{'type': 'thumb','thumb_media_id': 'StquJqb_PqfYLtE1hwy4UcZGNlncMggH_DreS0YEI8uDCywvPzfQg8yYdsPpi1Tc','created_at': 1557051046
}

上传临时视频

resp = wx.media.upload("video", open("D://hello.mp4", "rb"))
print(resp)
{'type': 'video','media_id': 'jCMhWTXbm90l0zWFirVwHPzWi_SO6A4lnqqcj_91fxKWkHdQnyZY14uFJQYJHLcC','created_at': 1557050806
}

上传永久媒体素材接口 material

对于常用的素材,开发者可通过本接口上传到微信服务器,永久使用。新增的永久素材也可以在公众平台官网素材管理模块中查询管理。

上传永久图片

resp = wx.material.add("image",open("D://666.png","rb"))
print(resp)
{'media_id': 'BzzIfj9NcYYTuaPR_j133jbk4KxYuPvhoZx68usaDi0','url': 'http://mmbiz.qpic.cn/mmbiz_png/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibQejDaVQMIicE6Wa6v3O5EUsfA3CNumdQAdsx2HrCDrmX6f6zaPk4reg/0?wx_fmt=png'
}

上传永久缩略图

resp = wx.material.add("thumb",open("D://wx.jpg","rb"))
print(resp)
{'media_id': 'BzzIfj9NcYYTuaPR_j133nS16LBGp7_ZcN5o9ihrBDw','url': 'http://mmbiz.qpic.cn/mmbiz_jpg/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibqwCkTuX97EFSfqqbzYVfK8Em7WdHCicMta8sMoUJCLSTLoMjUJkpYsw/0?wx_fmt=jpeg'
}

上传永久视频

resp = wx.material.add("video",open("D://hello.mp4","rb"),title="视频标题...",introduction="视频简介...")
print(resp)
{'media_id': 'BzzIfj9NcYYTuaPR_j133ietkr1Oy2009whI6vdTLR8'}

上传图文消息(群发消息)内的图片

resp = wx.media.upload_image(open("D://666.png","rb"))
print(resp)
http://mmbiz.qpic.cn/mmbiz_png/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibQejDaVQMIicE6Wa6v3O5EUsfA3CNumdQAdsx2HrCDrmX6f6zaPk4reg/0

新增永久图文素材

resp = wx.material.add_articles(articles=[{"thumb_media_id": "%s" % wx.material.add("thumb", open("D://wx.jpg", "rb")).get("media_id"),  # 图文消息的封面图片素材id(必须是永久mediaID)"author": "观小鱼","title": "Python实战","content": "python实战总结<br><img src=%s>" % wx.media.upload_image(open("D://666.png", "rb")),  # 图文消息的具体内容,支持HTML标签"digest": "通过python实战项目,快速掌握python开发",  # 图文消息的摘要"content_source_url": "https://www.kancloud.cn/@guanfuchang",  # 图文消息的原文地址"show_cover_pic": 1,  # 显示封面"need_open_comment": 1,  # 打开评论"only_fans_can_comment": 1  # 粉丝才可以评论}])
print(resp)
{
'media_id': 'BzzIfj9NcYYTuaPR_j133mW-veyn3sNRANnduEtdnss'
}

获取素材

获取临时素材下载地址

公众号可以使用本接口获取临时素材(即下载临时的多媒体文件),注意:媒体文件在微信后台保存时间为3天,即3天后media_id失效。

resp = wx.media.get_url("1pnGyv1G8nGdT2A9Thm70I-n7_cQ9CuE-6Jj3tTGdWxpE6IFU5q1GNS6JHEDynqL")
print(resp)
https://api.weixin.qq.com/cgi-bin/media/get?access_token=21_yblTNnELBMPr73XmbLOaeVNjSKsruUGFv9Y4amhVVrbelomKcFbKb0wfLrJvrpoX-7K-vt8i-nWs9zCmEx7FVV4T9oq8xAV3n7TndwNzWa_kkVPGdzbq_yj8hbQCYWgAIAVRP&media_id=1pnGyv1G8nGdT2A9Thm70I-n7_cQ9CuE-6Jj3tTGdWxpE6IFU5q1GNS6JHEDynqL

批量获取永久素材列表 "image","voice","video","news"

在新增了永久素材后,开发者可以分类型获取永久素材的列表。

resp = wx.material.batchget(media_type="news",offset=0,count=2)
print(resp)
{'item': [{'media_id': 'BzzIfj9NcYYTuaPR_j133mW-veyn3sNRANnduEtdnss','content': {'news_item': [{'title': 'Python实战','author': '观小鱼','digest': '通过python实战项目,快速掌握python开发','content': 'python实战总结<br  /><img data-src="http://mmbiz.qpic.cn/mmbiz_png/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibQejDaVQMIicE6Wa6v3O5EUsfA3CNumdQAdsx2HrCDrmX6f6zaPk4reg/0%3E">','content_source_url': 'https://www.kancloud.cn/@guanfuchang','thumb_media_id': 'BzzIfj9NcYYTuaPR_j133keapTcjqt-9xZQkkN0qQ9Q','show_cover_pic': 1,'url': 'http://mp.weixin.qq.com/s?__biz=MzA3NzgzMzA5Nw==&mid=100000028&idx=1&sn=01235aff2dee3ba7941ee3ff0be73444&chksm=1f4ab7fa283d3eec80b03af52b3b51a3affa140830a8dcb4baba7ec1c480055acab98a4e610f#rd','thumb_url': 'http://mmbiz.qpic.cn/mmbiz_jpg/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibqwCkTuX97EFSfqqbzYVfK8Em7WdHCicMta8sMoUJCLSTLoMjUJkpYsw/0?wx_fmt=jpeg','need_open_comment': 1,'only_fans_can_comment': 1}],'create_time': 1557115885,'update_time': 1557115885},'update_time': 1557115885}, {'media_id': 'BzzIfj9NcYYTuaPR_j133kSfaJsfBYCH8seLSfKaXGg','content': {'news_item': [{'title': 'Happy Day','author': 'xxx','digest': 'digest','content': 'content','content_source_url': 'http://www.qq.com','thumb_media_id': 'BzzIfj9NcYYTuaPR_j133h2JwAhVA-Z-fLxFgOBY-Nw','show_cover_pic': 1,'url': 'http://mp.weixin.qq.com/s?__biz=MzA3NzgzMzA5Nw==&mid=100000004&idx=1&sn=6ed39350fdb884b51d997ef04ed36b43&chksm=1f4ab7e2283d3ef417e4855ed52c88927a3a8ad0301289b8e0dfcb1f65fef9c412b6eb768b1b#rd','thumb_url': 'http://mmbiz.qpic.cn/mmbiz_png/QuFmLYzPJ2DK93uoeUAibJSqQBmgeR1uhdicrQKxT3QzZVdfWUIHa6fmFfuaibLNibqYGVHQcwyzCbsbPWTN82Vs9g/0?wx_fmt=png','need_open_comment': 1,'only_fans_can_comment': 1}],'create_time': 1556162229,'update_time': 1556162229},'update_time': 1556162229}],'total_count': 2,'item_count': 2
}

获取永久素材

在新增了永久素材后,开发者可以根据media_id通过本接口下载永久素材。公众号在公众平台官网素材管理模块中新建的永久素材,可通过"获取素材列表"获知素材的media_id。

resp = wx.material.get(media_id="BzzIfj9NcYYTuaPR_j133mW-veyn3sNRANnduEtdnss")
print(resp)
[{'title': 'Python实战','author': '观小鱼','digest': '通过python实战项目,快速掌握python开发','content': 'python实战总结<br  /><img data-src="http://mmbiz.qpic.cn/mmbiz_png/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibQejDaVQMIicE6Wa6v3O5EUsfA3CNumdQAdsx2HrCDrmX6f6zaPk4reg/0%3E">','content_source_url': 'https://www.kancloud.cn/@guanfuchang','thumb_media_id': 'BzzIfj9NcYYTuaPR_j133keapTcjqt-9xZQkkN0qQ9Q','show_cover_pic': 1,'url': 'http://mp.weixin.qq.com/s?__biz=MzA3NzgzMzA5Nw==&mid=100000028&idx=1&sn=01235aff2dee3ba7941ee3ff0be73444&chksm=1f4ab7fa283d3eec80b03af52b3b51a3affa140830a8dcb4baba7ec1c480055acab98a4e610f#rd','thumb_url': 'http://mmbiz.qpic.cn/mmbiz_jpg/QuFmLYzPJ2BbITcU1VNpEhH8XUsXbtcibqwCkTuX97EFSfqqbzYVfK8Em7WdHCicMta8sMoUJCLSTLoMjUJkpYsw/0?wx_fmt=jpeg','need_open_comment': 1,'only_fans_can_comment': 1
}]

[warning] 更多接口信息,请参考源码WeChatClient

wechatpy 素材接口介绍相关推荐

  1. Node使用微信上传临时素材接口

    引言 在开发小程序后端的时候,遇到需求,需要接受小程序客服信息用户回复的特定指端,返回对应的图片,然而图片是存在oss或者是某些特殊链接转成base64的形式,在使用微信提供的临时素材上传接口的时候, ...

  2. 【实时数仓】Day06-数据可视化接口:接口介绍、Sugar大屏、成交金额、不同维度交易额(品牌、品类、商品spu)、分省的热力图 、新老顾客流量统计、字符云...

    一.数据可视化接口介绍 1.设计思路 后把轻度聚合的结果保存到 ClickHouse 中后,提供即时的查询.统计.分析 展现形式:用于数据分析的BI工具[商业智能(Business Intellige ...

  3. 实现一个对象验证库系列 -- 1) 接口介绍以及总体思路概述 (请大神批评)

    前情回顾: 上一篇 0) 目录以及库结构介绍 简单描述了下库的代码结构 本文将从接口部分阐述总体的思路 1) 接口介绍以及总体思路概述 如下图,我总共定义了10个Interface 这些实际可分为两类 ...

  4. 计算机 编程 教程 pdf,计算机专业教程-第3章编程接口介绍.pdf

    下载 第3章 编程接口介绍 • DB2 UDB应用程序概述 • 嵌入S Q L编程 • CLI/ODBC应用程序 • JAVA应用程序 • DAO .R D O .A D O应用程序 本章将介绍对DB ...

  5. Python requests介绍之接口介绍

    Python requests介绍 引用官网介绍 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. Requests 允许你发送纯天然,植物饲养的 HTTP/1. ...

  6. Java—Iterator接口介绍及使用

    Iterator接口介绍   Iterator称之为迭代器,是去遍历Collection.Map集合中的元素对象. Iterator常用方法 boolean hasNext():判断是否还有下一个遍历 ...

  7. SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)

    SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...

  8. (8)Zynq AXI_ACP接口介绍

    1.1 Zynq AXI_ACP接口介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Zynq AXI_ACP接口介绍: 5)结束语. 1.1.2 本节引言 &quo ...

  9. (7)Zynq AXI_GP接口介绍

    1.1 Zynq  AXI_GP接口介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Zynq  AXI_GP接口介绍: 5)结束语. 1.1.2 本节引言 &quo ...

最新文章

  1. 转载 React.createClass 对决 extends React.Component
  2. Mac下修改ZOC中文乱码
  3. ie 不执行回调函时_「Excel VBA操作IE篇」10分钟内设置完成,3句代码打开IE浏览器
  4. 信息学奥赛C++语言: 单词的长度
  5. MSP430程序库二UART异步串口
  6. 博客版面设计~文章填充
  7. Flutter之Stack
  8. Maven安装与配置(详细步骤)
  9. 07《基于深度学习的车标识别方法研究》学习总结
  10. python DataFrame的shift()方法
  11. 洛谷——P2706 巧克力
  12. 工业交换机的功率和网络管理方法
  13. 最新CTR预测服务的GPU优化实践
  14. 基于TPS(Thin Plate Spines)的STN网络的PyTorch实现
  15. android分享图片到qq,Android实现截图分享qq,微信
  16. tplink怎么进去_如何进入tp-link路由器设置页面
  17. CG快报 2011.11.22
  18. 【软件技术基础】02
  19. 苹果关闭自动更新_IOS更新很烦?仅需一招永远关闭
  20. CSS入门(人物简历案例)

热门文章

  1. 多文章栏目易企CMS模板的使用
  2. iOS逆向工程之Theos
  3. 戴尔rpc服务器不显示,打印机出现RPC服务器不可用修复
  4. java编程概念_使用漫画设计教编程概念
  5. 硬件开发者之路之——保护电路系列之过流过压过温保护
  6. 阿里云搭建k8s kubeadm init失败的原因
  7. [附源码]计算机毕业设计Python+uniapp美年大健康体检预约小程序q237e(程序+lw+远程部署)
  8. 关于产品XDR产品系列(区别于EDR)
  9. 大学四年嵌入式学习心得体会
  10. 音频精准切割原理及应用