我正在尝试使用GoDaddy的API将A记录添加到域中,但在浏览器的控制台中却收到422(不可处理实体)响应错误。但是,当我在https://developer.godaddy.com/doc#!/_v1_domains/recordAdd/ArrayOfDNSRecord上使用GoDaddy的文档测试请求时,以下正文显示404响应错误:
错误正文:
{
"code": "UNKNOWN_DOMAIN",
"message": "The given domain is not registered, or does not have a zone file",
"name": "_Class"
}
我要添加A记录的域肯定存在,所以我不知道为什么它会返回404错误。我使用GET请求检索属于该域的所有A记录都没有问题,但是当我尝试在下面运行PATCH请求时,我得到了错误。
GoDaddy的API有问题吗,或者我在构造请求时有问题吗?
返回错误的PATCH请求
$.ajax({
type: 'PATCH',
url: 'https://api.godaddy.com/v1/domains/{domain}/records',
data: {
'records': [{
'type': 'A',
'name': 'test',
'data': '255.255.255.255'
}]
},
headers: {
'Authorization': 'sso-key {API_KEY}:{API_SECRET}'
},
success: function(body) {
console.log(body);
}
});
可以正常工作的GET请求
$.ajax({
type: 'GET',
url: 'https://api.godaddy.com/v1/domains/{domain}/records/A',
headers: {
'Authorization': 'sso-key {API_KEY}:{API_SECRET}'
},
success: function(body) {
$.each(body, function(i, v) {
$('body').append('<p>Name: ' + v.name + '<br/>Data: ' + v.data + '</p>');
});
}
});
最佳答案
您还需要指定域:
$.ajax({
type: 'PATCH',
url: 'https://api.godaddy.com/v1/domains/{domain}/records',
data: {
'domain': '<domain>',
'records': [{
'type': 'A',
'name': 'test',
'data': '255.255.255.255'
}]
},
headers: {
'Authorization': 'sso-key {API_KEY}:{API_SECRET}'
},
success: function(body) {
console.log(body);
}
});
另请注意,可选的ttl字段必须至少为600。