基于python 微信小程序之获取已存在模板消息列表


Posted in Python onAugust 05, 2019

前言:

为了获取一定高级操作,如:微信模板消息(xiao,xin)推送,把消息推送给用户,或者是获取用户授权信息都需要用到access token,有效期为两个小时?

过了两个小时怎么办?重新获取,来,代码撸起走,啥女朋友没有?

获取小程序对应的access token

def get_wx_token():
  url = "https://api.weixin.qq.com/cgi-bin/token?"
  try:
    respone = requests.get(url, params=payload, timeout=50)
    access_token = respone.json().get("access_token")
    res = respone.json()
    res["time"] = stamp
    print(u'token过期,重新写入文件的内容>>>', res)
    with open(token_file, "w+") as f:
      f.write(json.dumps(res))
    return access_token
  except Exception as e:
    msg = traceback.format_exc()
    print('get token error', msg)
    return

并判断是否过期

def get_access_token():

try:
  with open(token_file, "r") as f:
    content = f.read()
    data_dict = content
    # 如果缓存内容为空,直接重新获取token
    if (content == ''):
      print("token文件为空,重新获取并写入文件")
      result = get_wx_token()
      return result
    else:
      data_dict = re.sub('\'', '\"', data_dict)
      token_time = int(json.loads(data_dict)['time'])
      if (stamp - token_time) > 7100:
        # print("token过期,重新获取并写入文件")
        get_wx_token()
      else:
        return json.loads(data_dict)['access_token']
except Exception as e:
  msg = traceback.format_exc()
  print("access token express time", msg)

根据access token 获取模板列表

def get_templates_list(access_token):
  url = "https://api.weixin.qq.com/cgi-bin/wxopen/template/list?access_token={}".format(access_token)
  data = {
   "offset": 0,
   "count": 20
  }
  r = requests.post(url,data=json.dumps(data)).json()
  tpl_list = r.get('list')
  for tpl in tpl_list:
    print(tpl)
  # print(r.get('list'))

返回数据示例

{
 "errcode": 0,
 "errmsg": "ok",
 "list": [
  {
   "template_id": "wDYzYZVxobJivW9oMpSCpuvACOfJXQIoKUm0PY397Tc",
   "title": "购买成功通知",
   "content": "购买地点{{keyword1.DATA}}\n购买时间{{keyword2.DATA}}\n物品名称{{keyword3.DATA}}\n",
   "example": "购买地点:TIT造舰厂\n购买时间:2016年6月6日\n物品名称:咖啡\n"
  }
 ]
}

总结

以上所述是小编给大家介绍的基于python 微信小程序之获取已存在模板消息列表,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python性能优化的20条建议
Oct 25 Python
Python中实现常量(Const)功能
Jan 28 Python
python中的格式化输出用法总结
Jul 28 Python
Python使用time模块实现指定时间触发器示例
May 18 Python
python微信好友数据分析详解
Nov 19 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
Python中super函数用法实例分析
Mar 18 Python
python图形工具turtle绘制国际象棋棋盘
May 23 Python
python变量命名的7条建议
Jul 04 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 Python
Pycharm 安装 idea VIM插件的图文教程详解
Feb 21 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
Python中typing模块与类型注解的使用方法
Aug 05 #Python
Python及Pycharm安装方法图文教程
Aug 05 #Python
python redis连接 有序集合去重的代码
Aug 04 #Python
Django中URL的参数传递的实现
Aug 04 #Python
Python 操作 ElasticSearch的完整代码
Aug 04 #Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 #Python
elasticsearch python 查询的两种方法
Aug 04 #Python
You might like
ThinkPHP php 框架学习笔记
2009/10/30 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
js获取div高度的代码
2008/08/09 Javascript
javascript 伪数组实现方法
2010/10/11 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
JS模板实现方法
2013/04/03 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
Python中的with...as用法介绍
2015/05/28 Python
Python3 Random模块代码详解
2017/12/04 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
学校就业推荐信范文
2014/05/19 职场文书
公司年终奖分配方案
2014/06/16 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
临时用工协议书范本
2014/10/29 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
员工聘用合同范本
2015/09/21 职场文书
Python基础之条件语句详解
2021/06/16 Python
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
实现GO语言对数组切片去重
2022/04/20 Golang