【FAQ】接入HMS Core推送服务,服务端下发消息常见错误码原因分析及解决方法
HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端,可以从服务器发送下行消息给终端设备。这篇文章汇总了服务端下发消息最常见的6个错误码,并提供了原因分析和解决方法,有遇到类似问题的开发者们快了解一下吧。
错误码一:80200001," Oauth认证错误"
原因分析:
- 下发消息未添加Authorization请求参数或值为空。

- 应用A的APPID申请的Access Token,却用于给应用B推送消息,也会出现此错误码。

申请Access Token


下发消息
解决方法:
排查请求HTTP头中是否有入参Authorization请求参数。Authorization获取方式可参考文档、下行消息API可参考文档。
获取Access Token使用的APPID和下发消息使用的APPID需要保持一致。
错误码二:80300007,"Token无效错误"
原因分析:
- token不合法,token中多或少了字符,例如下图中多了个空格。

- 给应用A下发消息,token却是应用B的,这种情况也是原因之一。

解决方法:
检查token参数是否正确;
确保下发消息使用的token,是获取于目标应用的
错误码三:80300010,"消息体中的Token数量不符合默认值"
原因分析:
开发者将“message”字段拼写错误,示例图中message字段结尾多了 'r';
token位置不正确,字段结构问题;
下发的token数量超过了限制,或token为空。

解决方法:
确保message、token字段写入正确;
message字段包含token,与 "android"同级;

- token的数量应在1-1000个,确认token参数的数量,参考字段结构及说明请参考文档。
错误码四:80200003,"Oauth Token过期"
原因分析:
Authorization请求参数值中的Access Token已过期
请求参数值不正确,多或少了其他字符。

解决方法:
Access Token有效期为一个小时,若超过限定时间,则需要重新获取并使用最新Access Token下发消息。重新获取Access Token方法可参考文档
确保使用的Access Token与获取的一致,复制Access Token时出现转义字符,需要将“/”还原为“/”。
错误码五:80100016,"消息里面含有敏感信息"
原因分析:
出现这种报错说明推送消息内容中含有敏感信息

解决方法:
由于不提供敏感词库,需要开发者自行检测内容;
开发者可以接入推必安,下发消息通过推必安审核后,华为不会二次审核。接入推必安的流程可参考文档。
注意事项:
- 推必安审核通过后,需要将推必安返回通过的结果添加到华为Review字段的result对象中,这样下发消息时华为才能知道消息审核已通过,华为也不会进行二次审核。
"review": [
{
"reviewer": "tuibian",[]()
"type": 0,
"result": {
//以下为推必安返回结果
"code": 200,
"data": {
"auditEngine": "t****ine",
"auditId": "0f74b*******0b3f490d",
"labels": []
},
"msg": "Pass",
"sign": "MEQCIBHc********IqLjw=="
}
}
]
}
- 并不是将整个消息体都放到推必安“content”字段中,需要审核的是“message”里面的内容,同时会对消息体内容按ASCII码升序排序后转为字符串格式进行审核。
{
"validate_only":false,
"message":{
//以下部分需要审核
"notification":{
"title":"message title",
"body":"message body"
},
"android":{
"collapse_key":0,
"notification":{
"click_action":{
"type":2,
"url":"https://example.com"
}
}
},
"token":[
"pushtoken1"
]
}
}
- 由于审核过程繁琐,建议减少下发字段的使用,这样操作更简单也会避免下发消息时出现80100018错误码,该错误码指发给三方机构审核的消息体与下发时的消息体不一致。
错误码六:sub_error":57303,"error_description":"appid is overload blocked","error":1302
原因分析:
过多请求access_token被流控,流控阈值为1000个/5分钟。

解决方法:
调整请求逻辑,access_token有效期为一个小时,无需频繁申请。流控5分钟后重置,可以再次申请。更多access_token相关限制可参考文档。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
【FAQ】接入HMS Core推送服务,服务端下发消息常见错误码原因分析及解决方法的更多相关文章
- 【FAQ】接入HMS Core推送服务过程中一些常见问题总结
HMS Core 推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道.开发者通过集成推送服务,可以向客户端应用实时推送消息,构筑良好的用户关系,提升用户的感知度和活 ...
- 【FAQ】HMS Core推送服务与本地创建通知消息如何相互覆盖?
我们知道,单独使用HMS Core推送服务或本地创建通知消息,都可以实现通知消息的覆盖,方式分别为: 1.本地创建通知消息(简称本地通知消息) 通过notificationManager.notify ...
- 如何使用Postman调试HMS Core推送接口?
HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端.Postman是一款接口测试工具,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果.Postma ...
- 【FAQ】接入HMS Core应用内支付服务过程中一些常见问题总结
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...
- 【FAQ】干货满满,接入HMS Core应用内支付服务过程中一些常见问题总结(2)来啦
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.该服务支持客户端和服务端两种开发形式,具体可以参考官方文档 上次,我们分享和总 ...
- 【FAQ】应用内支付服务无法拉起支付页面常见原因分析和解决方法
华为应用内支付服务(In-App Purchases)通过简便的接入流程为用户提供良好的应用内支付体验,然而在实际接入过程中,有一些开发者反馈测试时会无法正常拉起支付页面,下文将详细分析问题出现的5种 ...
- 接入WxPusher微信推送服务出现错误:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
背景 使用WxPusher微信推送服务 ,可以及时的将服务的一些运行异常信息,发送到自己的微信上,方便了解服务的运行状态(PS:这个服务是免费的). 你可以在这里看到WxPusher微信推送服务的接入 ...
- 别再问WiFi密码了,HMS Core统一扫码服务让手机一键联网
现代生活离不开网络.在餐厅.商场等公共场所,手机连接WiFi一直是高频使用场景.虽然公共场所的免费WiFi越来越多,但网络连接过程却很麻烦.有的需要打开网页注册或点击广告链接才能上网,还有的要求下载特 ...
- WP7推送通知服务
原文地址http://www.cnblogs.com/Joetao/articles/2214482.html (一)为什么使用推送通知服务(1)Windows Phone执行模型决定只有一个第三方的 ...
随机推荐
- 简单的TRPG骰子
又到了新一年的带团季了,今年准备用电脑来存放各种资料,自然也是需要一个简单的骰子工具了,反正也不复杂,就自己写了个,放着做个备份吧 主要功能是计算x1dy1+/-x2dy2+/-.....+/-con ...
- [总结] 零散的 tricks
对于类似构造方案的题目,先确定其中一些关键位置的方案,然后看是否能较为简单地推出其他位置的方案. 一个长度为 \(n\) 的序列,满足 \[a_1\le-a_4\le a_7\le-a_{10}\le ...
- 手机USB共享网络是个啥
智能手机一般都提供了USB共享网络的功能,将手机通过USB线与电脑连接,手机端开启『USB共享网络』,电脑就能通过手机上网. 手机端开启『USB共享网络』: 电脑端出现新的网络连接: 通过设备管理器看 ...
- 面试官:我把数据库部署在Docker容器内,你觉得如何?
开源Linux 一个执着于技术的公众号 上一篇:CentOS 7上搭建Zabbix4.0 近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数 ...
- 看 AWS 如何通过 Nitro System 构建竞争优势
目录 目录 目录 前言 Amazon Nitro System Overview AWS EC2 的虚拟化技术演进之路 Nitro Hypervisor Nitro Cards Nitro Contr ...
- 斯坦福NLP课程 | 第12讲 - NLP子词模型
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www. ...
- 论文阅读 DyREP:Learning Representations Over Dynamic Graphs
5 DyREP:Learning Representations Over Dynamic Graphs link:https://scholar.google.com/scholar_url?url ...
- Mac远程windows工具
现在很多小伙伴都是使用MAC系统,但在工作中或多或少会遇到需要远程windows的情况,今天给大家安利一款软件,让你轻轻松松远程windows Microsoft Remote Desktop Mic ...
- cloudwu/coroutine 源码分析
1 与其它协程库使用对比 这个 C 协程库是云风(cloudwu) 写的,其接口风格与 Lua 协程类似,并且都是非对称 stackful 协程.这个是源代码中的示例: #include " ...
- React项目中使用less/scss&全局样式/变量
使用create-react-app脚手架搭建初始化项目 > npm install -g create-react-app > npx create-react-app my-app c ...