繁体   English   中英

删除记录 Libcloud (GoDaddy api)

[英]Delete record Libcloud (GoDaddy api)

我尝试为 Record delate-record实现 delete 方法,但这是我第一次使用 python 和这个 api。

GoDaddy API 没有删除记录方法,因此此功能未在驱动程序中公开。 https://developer.godaddy.com/doc#!/_v1_domains/recordReplace

驱动程序可以提供“替换区域中的记录”方法,这将允许您获取当前的记录列表,然后设置新列表减去要删除的记录。 但该功能尚未实现,而且风险很大。

首先,向https://api.godaddy.com/v1/domains/{DOMAIN}/records发送 GET 请求

然后,枚举 API Response (JSON Array) 的所有记录,并通过删除需要删除的记录来准备新数据。

API 响应(示例)

[
    {
        "data": "192.168.1.1",
        "name": "@",
        "ttl": 600,
        "type": "A"
    },
    {
        "data": "ns1.example.com",
        "name": "@",
        "ttl": 3600,
        "type": "NS"
    },
    {
        "data": "@",
        "name": "www",
        "ttl": 3600,
        "type": "CNAME"
    },
    {
        "data": "mail.example.com",
        "name": "@",
        "ttl": 3600,
        "priority": 1,
        "type": "MX"
    }
]

新数据(删除记录后)(SAMPLE)

[
    {
        "data": "192.168.1.1",
        "name": "@",
        "ttl": 600,
        "type": "A"
    },
    {
        "data": "ns1.example.com",
        "name": "@",
        "ttl": 3600,
        "type": "NS"
    },
    {
        "data": "@",
        "name": "www",
        "ttl": 3600,
        "type": "CNAME"
    }
]

现在,使用新数据向https://api.godaddy.com/v1/domains/{DOMAIN}/records发送 PUT 请求。

最重要的是如何识别上述数组中需要删除的记录。 假设您具有良好的编程技能,这将不是一项艰巨的任务。

我设法解决了这个问题 - 我们有一堆想要删除的记录,手动操作似乎很奇怪,所以我在 Chrome 开发者控制台中添加了一个 Javascript,在 DNS 管理页面的经过身份验证的会话上运行:

function deleteGoDaddyRecords(recordId) {
        $.ajax({
        url: 'https://dcc.godaddy.com/api/v3/domains/<YOUR-DOMAIN.com>/records?recordId='+recordId,
        type: 'DELETE',
        success: function(result) {
            console.log(result)
        }
    });
}

当您要求删除记录时,这让我可以使用 UI 正在调用的相同调用。

您唯一需要提供的是 AttributeUid,它在公共 API 中不可用,但它在前端 API 中:

https://dcc.godaddy.com/api/v2/domains/runahr.com/records

所以我设法创建了一个脚本来生成一堆

deleteGoDaddyRecords('<RECORD-UUID>');
deleteGoDaddyRecords('<RECORD-UUID>');

将生成的脚本复制并粘贴到开发人员控制台中,暂时解决了这个问题。

我希望 GoDaddy 将来会在他们的 API 中添加一个公共 DELETE 端点:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM