使用 OpenAPI 文档时,返回 IllegalTimestamp 错误

 

当调用接口时,Timestamp 传参是按照 API 文档上写的如:Timestamp=2015-03-09T12:03:11Z,且编码是 UTF-8,为何总是出现如下返回错误:

{"RequestId":"EDC596CF-567E-474A-B095-A288DBA03DF1","HostId":"dns.aliyuncs.com","Code":"IllegalTimestamp","Message":"The input parameter \"Timestamp\" that is mandatory for processing this request is not supplied."} 

文档中已经有详细的说明,见最后的调用示例:

TimeStamp 参数要求符合 ISO8601 规范,并注意使用 UTC 时间,即时区设置为 0,否则会遇到错误。下面的示例代码演示了如何生成符合规范的 TimeStamp 字符串:

    private static final String ISO8601_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";

 

    private static String formatIso8601Date(Date date) {

        SimpleDateFormat df = new SimpleDateFormat(ISO8601_DATE_FORMAT);

        df.setTimeZone(new SimpleTimeZone(0, "GMT"));

        return df.format(date);

    }

 

如问题还未解决,请联系售后技术支持