【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 最新技术资讯~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Doris Connector 结合 Flink CDC 实现 MySQL 分库分表 Exactly Once精准接入
1. 概述 在实际业务系统中为了解决单表数据量大带来的各种问题,我们通常采用分库分表的方式对库表进行拆分,以达到提高系统的吞吐量。 但是这样给后面数据分析带来了麻烦,这个时候我们通常试将业务数据库的分库分表同步到数据仓库时,将这些分库分表的数据,合并成一个库,一个表。便于我们后面的数据分析 本篇文档我们就演示怎么基于Flink CDC 并结合 Apache Doris Flink Connector 及 Doris Stream Load的两阶段提交,实现MySQL数据库分库分表实时高效的接入到 Apache Doris 数据仓库中进行分析。 1.1 什么是CDC CDC是(Change Data Capture 变更数据获取)的简称。 核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。 CDC 技术应用场景也非常广泛,包括: ●数据分发,将一个数据源分发给多个下游,常用于业务解耦、微服务。 ●数据集成,将分散异构的数据源集成到数据仓库中,...
- 下一篇
AIOps 还是 APM,企业用户应如何作出选择?
前言 随着AI、大数据技术在IT运维领域的落地,AIOps成为传统运维厂商、新兴APM/NPM厂商和云服务商追捧的焦点,越来越多的用户开始了解、尝试和应用AIOps。但是,由于不同厂商的AIOps发展路径和自身产品技术实力的不同,对于AIOps的定义和宣传有很大的差异,而用户面对嘈杂的市场声音往往就像雾里看花,显得无所适从。 美国著名IT研究机构Enterprise Management Associates(EMA)副总裁Dennis Drogseth在《AIOps and IT Analytics at the Crossroads》网络研讨会上,同样被欧美用户多次问及AIOps和传统监控工具之间界限的问题,特别是AIOps和APM产品的功能差异,如:它们到底有何不同?如果已经有了APM,还需要AIOps吗?企业为什么要同时购买APM和AIOps产品? 根据Gartner在2019年7月发布的IT性能分析技术成熟度曲线显示,AIOps正在从科技诞生的促动期 (Technology Trigger)进入过高期望的峰值(Peak of Inflated Expectations),而A...
相关文章
文章评论
共有0条评论来说两句吧...