python3 华为推送系统接入

2023-10-26

只是后台对接华为推送服务接口对接,前端集成还是请参考官方文档

 

  1. 根据AppID和AppSecret 获取请求token
  2. 根据token发送http请求 

 

获取token

请注意token的有效时间,不避免频繁获取

    def get_access_token(self):
        """
        获取access_token
        :return:
        """

        auth_url = "https://oauth-login.cloud.huawei.com/oauth2/v2/token"
        auth_headers = {"Content-Type": "application/x-www-form-urlencoded"}
        post_data = {
            "grant_type": "client_credentials",
            "client_id": AppID,
            "client_secret":AppSecret
        }
        auth_data = r.post(url=auth_url, headers=auth_headers, data=post_data).json()
        logger.info("推送华为消息auth_data:" + str(auth_data))
        return auth_data.get("access_token")

发送http请求

 def push_message(self, msg_json: dict):

        push_headers = {
            "Authorization": "Bearer " + access_token,
            "Content-Type": "application/json"
        }
        logger.info("推送华为消息push_headers:" + str(push_headers))
        logger.info("推送华为消息push_url:" + str(self.push_url))
        push_return = r.post(url=self.push_url, headers=push_headers, data=json.dumps(msg_json)).json()
        return push_return

msg_json 的结构为:

{
	'validate_only': False,
	'message': {
		'notification': {
			'title': 'title',
			'body': '您有新的消息!'
		},
		'android': {
			'notification': {
				'click_action': {
					'type': 1,
					'intent': 'intent://sxzq.ficc.codelabpush/deeplink?#Intent;scheme=fawo;launchFlags=0x4000000;i.age=180;S.name=abc;end'
				},
				'tag': 'fawo',
				'badge': {
					'num': 1,
					'class': 'sxzq.ficc.fawo001.MainActivity'
				},
				'notify_id': 1
			}
		},
		'token': ['ADVLy0yvPtAgdqx-rAr-qH4BJ8dLqCIG34_RpSSLufZU48crqzOQMXa6e2qV1eWyJGuB6un7YjiNXgbSyuXWBj0X9Dxz45T3kz34bb7wpg4l3WPPxLQj1vA6_UASsoWv7A']
	}
}

华为推送官方文档:华为推送官方文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 华为推送系统接入 的相关文章

随机推荐

  • 结合 服务器+后端+前端,完成 vue项目 后台管理系统

    目录 以上是项目的服务器php 后端 前端 已经可以正常运行 一 登录 登录页进度条 戳这里Vue项目电商后台管理系统 nprogress 进度条 活在风浪里的博客 CSDN博客 二 侧导航 三 列表页源码 四 角色分配 五 权限页面开发
  • 多线程实现Runable接口和Callable接口的区别

    先看源码callable接口 返回泛型v 可以抛出异常 Runable接口是抽象方法run 没有返回值 不能抛出异常 有异常在run方法内部处理 总结 区别1 两者最大的区别 实现Callable接口的任务线程能返回执行结果 而实现Runn
  • 交换机电口、光口、网络速率的基本概念总结

    电口和光口 千兆网 万兆网 POE 包转发率 背板带宽 交换容量 光纤跳线 电口和光口 电口 电口也即RJ45口 插双绞线的端口 网线 一般速率为10M或100M 即为百兆工业交换机 部分支持1000M 即为千兆交换机 光口 工业以太网交换
  • python sklearn 梯度下降法_Python与机器学习:梯度下降

    梯度下降 Gradient Descent 梯度下降法不是一个机器学习算法 是一种基于搜索的最优化算法 目的是最小化一个损失函数 同样 梯度上升法用于最大化一个效用函数 求解损失函数的最小值有两种方法 1 正规方程求解 上一章已经讲使用线性
  • java多线程和高并发系列三 & Synchronized锁详解

    目录 设计同步器的意义 如何解决线程并发安全问题 同步器的本质就是加锁 synchronized原理详解 synchronized底层原理 Monitor监视器锁 什么是monitor 对象的内存布局 对象头 对象头分析工具 锁的膨胀升级过
  • Python入门教学——多进程和多线程

    目录 一 线程和进程 1 线程和进程的基本概念 2 线程和进程的关系 3 串行 并行和并发 二 创建多个线程 1 线程相关的模块 2 创建线程 2 1 通过Thread类构造器来创建新线程 2 2 通过继承于Thread类来创建新线程 三
  • Kubernetes 集群使用 NFS 网络文件存储

    文章目录 1 NFS 介绍 2 环境 软件准备 3 Kubernetes HA 集群搭建 4 直接挂载 NFS 5 PV PVC 方式使用 NFS 6 StorageClasses 动态创建 PV 方式使用 NFS 1 NFS 介绍 Kub
  • JDBC实现纵向导出数据库数据

    使用到的技术点 1 Java写文件 2 熟悉JDBC API 3 Java集合ArrayList的使用 4 Java字符串截取 本代码仅供测试 如要使用 需自行增加数据库列类型定义和判定逻辑 DBConnectMySQL java pack
  • 教你如何构建 Linux 内核

    介绍 我不会告诉你怎么在自己的电脑上去构建 安装一个定制化的 Linux 内核 这样的资料太多了 它们会对你有帮助 本文会告诉你当你在内核源码路径里敲下make 时会发生什么 当我刚刚开始学习内核代码时 Makefile 是我打开的第一个文
  • C语言中函数指针、指针函数、结构体中的函数指针的用法和区别

    一 指针函数 定义 指针函数 简单的来说 就是一个返回指针的函数 其本质是一个函数 而该函数的返回值是一个指针 声明格式为 类型标识符 函数名 参数表 这似乎并不难理解 再进一步描述一下 看看下面这个函数声明 int fun int x i
  • OSI七层协议模型及其协议

    文章目录 一 OSI七层模型是什么 其协议有哪些 二 TCP IP四层协议 TCP IP五层协议 OSI七层协议是什么 一 OSI七层模型是什么 其协议有哪些 二 TCP IP四层协议 TCP IP五层协议 OSI七层协议是什么 一 1 O
  • php如何处理高并发请求

    PHP 处理高并发请求的方法 使用异步框架 通过使用异步处理方式 可以有效地降低 PHP 处理请求的响应时间 避免因为 IO 操作而导致的等待阻塞 常用的异步框架有ReactPHP和Swoole等 使用缓存 使用缓存可以减少每个请求都需要访
  • Open3D——RGBD图转化为点云(pcd)并显示

    1 用Open3D分别读取RGB图片和深度图片 彩色图 深度图 2 把Open3D中的RGBD图片转化pcd格式并储存 3 显示点云 直接看代码 Open3D www open3d org The MIT License MIT See l
  • 五款单按键开关机电路图

    转载 https blog csdn net shileiwu0505 article details 114401137 一 单按键开关机电路图 本例电路可实现通过按一次按键S1实现开机 再按一次S1实现关机的功能 整个电路的工作过程 电
  • 详解 TS 中的子类型兼容性

    简介 在写 TypeScript 代码时经常遇到类型检查不通过的问题 这些问题根据编译器给出的错误提示以及修改建议多数可以快速修复 本文讲解的内容是编译器进行类型检查时的兼容性相关检查规则 这些规则在 TypeScript 语言背后默默发挥
  • 刷脸支付用户可以摆脱对手机介质的依赖

    支付宝与微信的刷脸支付设备落地体量约在10万台左右 同时云闪付也在广州 杭州等七个城市陆续上线了 刷脸付 从安装数量看 刷脸设备的总体落地效果理想 现在商家对使用扫码支付服务具有很强的依赖性 且担心刷脸支付因为技术与道德问题而遭遇不必要的麻
  • 【uni-app】响应式单位rpx

    单位 rpx是响应式px rpx是一种根据屏幕宽度自适应的动态单位 以750宽的屏幕为基准 750rpx正好是屏幕的宽度 屏幕变宽 rpx实际显示效果会等比放大 但在App端和h5端 屏幕宽度达到960px时 默认将按照375px的屏幕宽度
  • linux增加nfs的inode,使用NFS时出现nfs_inode_cache占用内存过高问题的解决

    使用NFS时出现nfs inode cache占用内存过高问题的解决 来源 IT165收集 发布日期 2014 04 14 20 52 06 一 现象 运行了使用NFS文件系统的应用程序后 内存缓慢泄漏 最后导致整个服务器的内存全部耗尽 系
  • 向量微积分基础

    本文首发在我的个人博客 https jlice top p 7kemt 欢迎大家前去参观 么么哒 机器学习里经常需要用到向量微积分 向量微积分其实并不难 但大学数学一般不提 导致在看机器学习的一些推导时常常感觉疑惑 机器学习里经常用到标量和
  • python3 华为推送系统接入

    只是后台对接华为推送服务接口对接 前端集成还是请参考官方文档 根据AppID和AppSecret 获取请求token 根据token发送http请求 获取token 请注意token的有效时间 不避免频繁获取 def get access