错误码可在 OpenAPI 平台 查询,如果 OpenAPI 调用中出现错误,可使用 OpenAPI 诊断 了解错误原因。
客户端错误
|
错误代码 |
描述 |
HTTP 状态码 |
语义 |
|
InvalidProduct.NotFound |
Cannot find product according to your specified domain. |
404 |
请检查调用的域名是否正确:cloudpush.aliyuncs.com。 |
|
InvalidApi.NotFound |
Specified api is not found,please check your url and method. |
404 |
请检查调用的 API 是否正确,需注意大小写。 |
|
InvalidProtocol.NeedSsl |
Your request is denied as lack of ssl protect. |
404 |
API 配置只支持 HTTPS 协议:request.setProtocol(ProtocolType.HTTPS); |
|
Missing{ParameterName} |
{ParameterName} is mandatory for this action. |
400 |
缺少必选参数。 |
|
InvalidAccessKeyId.NotFound |
Specified access key is not found. |
400 |
请检查调用时是否使用了正确的 AccessKeyId ,参考 处理方法 。 |
|
InvalidTimeStamp.Format |
Specified time stamp or date value is not well formatted. |
400 |
时间戳格式不对(Date 和 Timestamp)应为 ISO8601 格式化时间戳。 |
|
InvalidTimeStamp.Expired |
Specified time stamp or date value is expired. |
400 |
用户请求时间(由请求中携带的 Timestamp 参数 标识)和服务器接收到请求的时间间隔大于 15 分钟,请检查调用代码中所传时间戳。例如:用户请求时间是北京时间上午 10 点,需要在参数里传 02 点。 |
|
SignatureNonceUsed |
Specified signature nonce was used already. |
400 |
SignatureNonce 重复,每次请求的 SignatureNonce 参数不能重复。 这个是网关层出现的错误,是由调用 SDK 频率过快造成的。特别是把 SDK 的调用放在函数循环里面会出现改错误 , 目前网关默认的频率每秒最多调用 100 次。对于发送量很大,deviceID 很多的发送,推荐使用聚合推送,如:把 deviceID 绑定到 Alias 或者 Tag 上,然后按 Alias 或者 Tag 进行发送 。 |
|
SignatureDoesNotMatch |
Specified signature is not matched with our calculation. |
400 |
签名不通过,请参考 签名机制 。 |
|
Throttling.User |
Request was denied due to user flow control. |
400 |
用户这个时段的流量已经超限。 |
|
Throttling.Api |
Request was denied due to api flow control. |
400 |
API 这个时段的流量已经超限。 |
|
AccountNotSupport |
Your account is not support. |
400 |
不支持的账号(由其它途径建立)。 |
|
AccountProhibited |
Your account is prohibited. |
400 |
您的账户被禁用。 |
|
AccountInDebt |
Your account is in debt. |
400 |
您的账户已欠费。 |
|
AccountDisabled |
Your account is not enabled. |
400 |
您未开通该服务。 |
|
PermissionDenied |
The specified AppKey is not authorized. |
400 |
该 App 不属于访问者,请检查 AppKey 配置,是否归属于对应的账号。 |
|
NoPermission |
You are not authorized to do this operation. (Action: %s, Resource: %s.) |
400 |
子账户或者 sts 访问时未授权。 |
|
Invalid{ParameterName}.NotFound |
The specified {ParameterName} is not found. |
400 |
指定的资源不存在。 |
|
Invalid{ParameterName}.Format |
The specified {ParameterName} is not found. |
400 |
参数格式不正确。 |
|
Invalid{ParameterName}.Empty |
Specified {ParameterName} can’t be empty. |
400 |
参数不能为空。 |
|
Invalid{ParameterName}.Blank |
Specified {ParameterName} can’t be blank. |
400 |
参数不能为空白字符。 |
|
Invalid{ParameterName}.BytesExceed |
Specified {ParameterName} exceeds the %s bytes limit. |
400 |
参数的字节数超限。 |
|
Invalid{ParameterName}.LengthExceed |
Specified {ParameterName}.length can’t be greater than %s. |
400 |
参数的字符数超限。 |
|
Invalid{ParameterName}.SizeExceed |
Specified {ParameterName}.size can’t be greater than %s. |
400 |
列表参数的个数超限。 |
|
Specified Pushtime can not be after seven days |
Per quick checking, it throwed PushTimeTlloLate error: Specified PushTime can not be after seven days, which means Ali not support future notification with push time > 7days. This is controlled by ali push. |
暂无 |
设置定时发送最迟不能晚于 7 天。 |
|
LimitExceed |
The specified ExpireTime can not before Now(+3Seconds) |
400 |
过期时间的设置不能小于当前时间加上 3 秒(3 秒是为了冗余网络和系统延迟)。使用 OpenAPI 2.0 - 推送高级接口时,PushTime 和 ExpireTime 参数 ,需注意时间格式应按照 ISO8601 标准表示,并使用 UTC 时间,格式为 YYYY-MM-DDThh:mm:ssZ,过期时间不能小于当前时间或者定时发送时间加上 3 秒( ExpireTime > PushTime+3 秒 ),3 秒是为了冗余网络和系统延迟造成的误差。 |
服务器端错误
|
错误代码 |
描述 |
HTTP 状态码 |
语义 |
|
ServiceUnavailable |
The request has failed due to a temporary failure of the server. |
503 |
服务器当前无法处理请求,建议重试,仍然失败则提工单。 |
|
InternalError |
The request processing has failed due to some unknown error. |
500 |
服务端错误,建议重试,仍然失败则提工单。 |
|
Timeout |
The request processing is timeout. |
500 |
服务器请求处理超时。若为推送类请求,这些请求一般已经提交到服务器端,无需重试。若为查询类请求,可稍后重试。 |