详细解答可以参考官方帮助文档
当调用接口时,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); } |
如问题还未解决,请联系售后技术支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。