【FAQ】接入HMS|【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需要保持一致。
原因分析:
- token不合法,token中多或少了字符,例如下图中多了个空格。
文章图片
- 给应用A下发消息,token却是应用B的,这种情况也是原因之一。
文章图片
解决方法:
- 检查token参数是否正确;
- 确保下发消息使用的token,是获取于目标应用的
原因分析:
- 开发者将“message”字段拼写错误,示例图中message字段结尾多了 'r';
- token位置不正确,字段结构问题;
- 下发的token数量超过了限制,或token为空。
文章图片
解决方法:
- 确保message、token字段写入正确;
- message字段包含token,与 "android"同级;
文章图片
- token的数量应在1-1000个,确认token参数的数量,参考字段结构及说明请参考文档。
原因分析:
- Authorization请求参数值中的Access Token已过期
- 请求参数值不正确,多或少了其他字符。
文章图片
- Access Token有效期为一个小时,若超过限定时间,则需要重新获取并使用最新Access Token下发消息。重新获取Access Token方法可参考文档
- 确保使用的Access Token与获取的一致,复制Access Token时出现转义字符,需要将“/”还原为“/”。
原因分析: 出现这种报错说明推送消息内容中含有敏感信息
文章图片
解决方法:
- 由于不提供敏感词库,需要开发者自行检测内容;
- 开发者可以接入推必安,下发消息通过推必安审核后,华为不会二次审核。接入推必安的流程可[参考文档]()。
- 推必安审核通过后,需要将推必安返回通过的结果添加到华为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错误码,该错误码指发给三方机构审核的消息体与下发时的消息体不一致。
原因分析: 过多请求access_token被流控,流控阈值为1000个/5分钟。
文章图片
解决方法: 调整请求逻辑,access_token有效期为一个小时,无需频繁申请。流控5分钟后重置,可以再次申请。更多access_token相关限制可参考文档。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
推荐阅读
- vue3国际化语言包在js文件中的使用
- 不可思议的神秘动物
- 云原生|【云原生 ? DevOps】一文掌握持续集成工具 Jenkins
- ROS机器人系统|【ROS机器人系统】自主导航+YOLO目标检测+语音播报
- 白帽子讲Web安全|【白帽子讲Web安全】第一章 我的安全世界观
- 漏財的种子忏悔录
- 减肥记
- 【大道金丹】之【至一养真】缘起123
- 深度学习|pytorch_YOLOX剪枝【附代码】
- 目标跟踪|[目标跟踪]传统算法--背景法【附代码】