技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 26 常见问题 0 技术文章 26

只使用ONLYOFFICE宏检索网站详情

时间:2023-07-26   访问量:1042

在我们的 以前的职务 ,我们根据一个VBA的参考资料,建立了一个全功能的办公宏。 我们的一个用户 .今天,我们想把它提升一个层次,并添加一些WWISAPI功能。

只使用办公室宏检索网站详情


关于谁

惠克斯 ,简称"谁是?"是一个重要的互联网协议,使用户能够访问有关域名和IP地址的全面信息。它是检索有关注册所有人、行政和技术联系人、注册和到期日期、域名服务器、甚至负责域名注册的组织的详细资料的宝贵资源。

进入API

为了获得一个访问WWISAPI,我们将使用一个解决方案提供的API尼尼哈斯。

 阿皮忍者网站 是一个在线平台,提供各种资源和对API的见解。它还提供了开发人员可以在项目中使用的免费API的选择。该网站旨在成为开发人员寻找信息、工具和实例以提高其API开发技能的一个有用的目的地。

该平台提供了代码片段,以协助提出HHTML请求:

var domain = 'example.com'$.ajax({
    method: 'GET',
    url: 'https://api.api-ninjas.com/v1/whois?domain=' + domain,
    headers: { 'X-Api-Key': 'your_API_key'},
    contentType: 'application/json',
    success: function(result) {
        console.log(result);
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});

建立宏观体系

现在让我们把这个合并起来。 阿贾克斯 请求进入我们的宏!我们代码的前几行保持完整。只不过我们在这里找到了细胞的价值 A4 .这次细胞的值 A2 足够: 

var sheet = Api.GetActiveSheet();var domainValue = sheet.GetRange("A2").GetValue();var dateRange = sheet.GetRange("D1:D10");

然后,我们启动一个GET请求到API端点中指定的 阿匹尔 变量:

$.ajax({
  method: 'GET',
  url: apiUrl,
  headers: { 'X-Api-Key': 'your_API_key' },
  contentType: 'application/json',
  success: function(result) {
    console.log(result);

在一个成功的API响应之后,我们开始处理数据。我们将UNIX时间戳转换为 发明日期 , 期满日期 ,以及 更新日期 使用javascrr的可读格式 约会日期 反对。格式化的日期存储在变量中 formattedCreationDate , formattedExpirationDate ,以及 形式的 日期 :

 // Convert creation_date to a more readable format    var unixTimestamp = result.creation_date;
    var creationDate = new Date(unixTimestamp * 1000);
    var formattedCreationDate = creationDate.toDateString();
    // Convert expiration_date to a more readable format    var expirationTimestamp = result.expiration_date;
    var expirationDate = new Date(expirationTimestamp * 1000);
    var formattedExpirationDate = expirationDate.toDateString();
    // Convert updated_date to a more readable format    var updatedTimestamp = result.updated_date;
    var updatedDate = new Date(updatedTimestamp * 1000);
    var formattedUpdatedDate = updatedDate.toDateString();

要在电子表格中填充所检索的域信息,我们使用 前面的 在…上打圈 三角形的 变量。循环在指定范围内迭代每个单元格 (D1:D10) .在循环中,我们使用 range.GetRow() 把它存储在行变量中:

var oRange = sheet.GetRange("E" + row);

电池的电流值是通过 range.GetValue() 储存在 牛 租金 e variable:

var currentValue = range.GetValue();

基于 现价 ,我们使用开关语句来确定适当的操作。例如,如果 现价 是"域名",我们设定了 结果名称 使用相应的单元格 橙色.定值(结果.域名_名称) :

    switch (currentValue) {
        case "domain name":
          oRange.SetValue(result.domain_name);
          break;

同样,我们处理其他案件,例如 登记员 , WWIS服务器 , 更新日期 , 发明日期 , 期满日期 , 姓名服务器, 和 数字安全标准 :

   oRange.SetValue(result.registrar);
          break;
        case "whois server":
          oRange.SetValue(result.whois_server);
          break;
        case "updated date":
          oRange.SetValue(formattedUpdatedDate);
          break;
        case "creation date":
          oRange.SetValue(formattedCreationDate);
          break;
        case "expiration date":
          oRange.SetValue(formattedExpirationDate);
          break;
        case "name servers":
          oRange.SetValue(result.name_servers.join(", "));
          break;
        case "dnssec":
          oRange.SetValue(result.dnssec);
          break;
        default:
          // Handle other cases if needed          break;
      }
    });

最后,我们定义了一个重新加载函数 Api.asc_calculate(Asc.c_oAscCalculateType.All) 方法在完成循环后重新计算电子表格。这将确保新填充的值反映在电子表格中:

    reload(); // Invoke reload function after the loop is completed  },
  error: function ajaxError(jqXHR) {
    console.error('Error: ', jqXHR.responseText);
  }
});function reload() {
    let reloadInterval = setInterval(function() {
        Api.asc_calculate(Asc.c_oAscCalculateType.All);
    }, 100);
}

整个宏代码如下:

(function(){
  var sheet = Api.GetActiveSheet();var domainValue = sheet.GetRange("A2").GetValue();var dateRange = sheet.GetRange("D1:D10");var apiUrl = 'https://api.api-ninjas.com/v1/whois?domain=' + domainValue;
$.ajax({
  method: 'GET',
  url: apiUrl,
  headers: { 'X-Api-Key': 'your_API_key' },
  contentType: 'application/json',
  success: function(result) {
    console.log(result);
    // Convert creation_date to a more readable format    var unixTimestamp = result.creation_date;
    var creationDate = new Date(unixTimestamp * 1000);
    var formattedCreationDate = creationDate.toDateString();
    // Convert expiration_date to a more readable format    var expirationTimestamp = result.expiration_date;
    var expirationDate = new Date(expirationTimestamp * 1000);
    var formattedExpirationDate = expirationDate.toDateString();
    // Convert updated_date to a more readable format    var updatedTimestamp = result.updated_date;
    var updatedDate = new Date(updatedTimestamp * 1000);
    var formattedUpdatedDate = updatedDate.toDateString();
    dateRange.ForEach(function(range) {
      var row = range.GetRow();
      var oRange = sheet.GetRange("E" + row);
      var currentValue = range.GetValue();
      switch (currentValue) {
        case "domain name":
          oRange.SetValue(result.domain_name);
          break;
        case "registrar":
          oRange.SetValue(result.registrar);
          break;
        case "whois server":
          oRange.SetValue(result.whois_server);
          break;
        case "updated date":
          oRange.SetValue(formattedUpdatedDate);
          break;
        case "creation date":
          oRange.SetValue(formattedCreationDate);
          break;
        case "expiration date":
          oRange.SetValue(formattedExpirationDate);
          break;
        case "name servers":
          oRange.SetValue(result.name_servers.join(", "));
          break;
        case "dnssec":
          oRange.SetValue(result.dnssec);
          break;
        default:
          // Handle other cases if needed          break;
      }
    });
    reload(); // Invoke reload function after the loop is completed  },
  error: function ajaxError(jqXHR) {
    console.error('Error: ', jqXHR.responseText);
  }
});function reload() {
    let reloadInterval = setInterval(function() {
        Api.asc_calculate(Asc.c_oAscCalculateType.All);
    });
}
})();

现在,让我们运行宏,看看它是如何工作的!


我们希望这个宏被证明是一个有用的工具,让您能够有效地检索和显示重要的域细节。ONLYOFFICEAPI提供的灵活性和功能为定制和自动化任务提供了巨大的可能性。

我们鼓励您探索仅仅ONLYOFFICEAPI的潜力,并通过构建自己的宏来释放您的创造力。


上一篇:如何通过插件市场搜索、安装和管理插件

下一篇:在办公室宏观环境中产生个性化的基于性别的问候

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部