Исключение: ошибка DNS: (строка 30, код файла)

Я пытаюсь использовать эту таблицу:

 https://kennymcnett.com/domain-name-checker-in-google-sheets/

Я получил ключ API от RapidAPI.

Однако я получаю следующее сообщение об ошибке:

 Exception: DNS error: https://domainr.p.mashape.com/v2/status?mashape-key=f23.....25c5&domain=undefined (line 30, file "Code")

Строка 30 расширения:

var result = UrlFetchApp.fetch(url+domain);

Весь код в расширении:

// Works as of April 6, 2016

// domainr docs: http://domainr.build/docs/overview

// Get your free API key from https://market.mashape.com/domainr/domainr
// Create an application, get a key
// Put your key into the cell on the "Instructions" sheet


/* sample return JSON from domainr.p.mashape.com
* 
* https://domainr.p.mashape.com/v2/status?mashape-key=YOURKEYHERE&domain=testasfkljhsdf.com
* 
* Produces:
* 
* {"status":[{"domain":"testasfkljhsdf.com","zone":"com","status":"undelegated inactive","summary":"inactive"}]}
* 
*/

function domainLookup(domain) {
  if (domain == "") {
    return "N/A";
  }

  //Get the Key from cell A11 on the sheet named "Key"
  var key = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Instructions').getRange('key').getValue(); //range = named range of the cell with the API key in it

  //Submit to mashape
  var url = "https://domainr.p.mashape.com/v2/status?mashape-key=" + key + "&domain=";
  var result = UrlFetchApp.fetch(url+domain);
  var out = JSON.parse(result.getContentText());
  var answer = out.status[0].summary;

  //Interpret the answer
  if (answer == 'undelegated' || answer == 'inactive') {
    var finalAnswer = "Available";
  } else {
    var finalAnswer = "Nope";
  }

  //Logger.log(out);
  //Logger.log(finalAnswer);

  //Show the answer
  return finalAnswer;
}

Это инструкции в электронной таблице:

For more detailed instructions and other information about this document, see the write-up:
http://kennymcnett.com/domain-name-checker-in-google-sheets/

Instructions

Step 1
Make a copy of this document into your own Google Drive. Then, don't change anything on this sheet except the API Key

Step 2
Get a domainr.com API key from mashape.com

Step 3
Paste your domainr API key from mashape.com below:
f236......................................b0725c5

Step 4
Go to the Domain Names sheet and have fun!

Bonus
If you want to see the script code, go to "Tools > Script editor..."For more detailed instructions and other information about this document, see the write-up:
http://kennymcnett.com/domain-name-checker-in-google-sheets/

Instructions

Step 1
Make a copy of this document into your own Google Drive. Then, don't change anything on this sheet except the API Key

Step 2
Get a domainr.com API key from mashape.com

Step 3
Paste your domainr API key from mashape.com below:
f236.........................................25c5

Step 4
Go to the Domain Names sheet and have fun!

Bonus
If you want to see the script code, go to "Tools > Script editor..."

Изменить: удалось решить эту ошибку, изменив URL-адрес на:

domainr.p.rapidapi.com

Однако после этого я получаю новое сообщение об ошибке:

Exception: Request failed for domainr.p.rapidapi.com returned code 403. Truncated server response: {"message":"You are not subscribed to this API."} (use muteHttpExceptions option to examine full response) (line 30).

Вещи, которые я сделал до сих пор: 1. Убедитесь, что API, который я использую, является бесплатным API. Согласно этому URL-адресу, субдомен, который я использую, предназначен для бесплатной версии этого API: https://domainr.p.rapidapi.com (free or non-commercial use) source: https://domainr.com/docs/api

  1. Я убедился, что мне не нужно вводить данные моей кредитной карты для доступа к бесплатным API. Согласно этой документации, бесплатный API не требует от меня ввода информации о кредитной карте в мою учетную запись RapidAPI. `

`

БЕСПЛАТНЫЕ API

RapidAPI имеет тысячи БЕСПЛАТНЫХ API. Как следует из названия, вы можете попробовать любой из этих API, не предоставляя данные кредитной карты. Эти API четко помечены как БЕСПЛАТНЫЕ.

???? Необходимый сторонний ключ API

Иногда вам нужно будет получить ключ API или токен на веб-сайте провайдера.

`

source: https://docs.rapidapi.com/docs/api-pricing


person user2755660    schedule 26.05.2020    source источник


Ответы (2)


Это Эрик из Domainr, попробуйте использовать domainr.p.rapidapi.com в качестве имени хоста (не mashape) — RapidAPI недавно по какой-то причине отказался от использования имени хоста mashape.

person Case    schedule 26.05.2020
comment
Спасибо. Теперь я получаю эту ошибку: Исключение: запрос не выполнен для domainr.p.rapidapi.com возвращенный код 403. Усеченный ответ сервера: {сообщение: Вы не подписаны на этот API.} (используйте параметр muteHttpExceptions для проверки полного ответа) (строка 30). Мое изменение в строке 29: var url = domainr.p.rapidapi.com/ v2/status?mashape-key= + key + &domain=; - person user2755660; 26.05.2020
comment
Вам необходимо обратиться в службу поддержки RapidAPI за помощью в решении этой проблемы, поскольку вы подключаетесь к их службе. Ошибка говорит о том, что вам нужно сделать: подписаться на API домена с вашей учетной записью RapidAPI. - person Case; 26.05.2020
comment
Решение заключалось в том, чтобы подписаться на тарифный план API здесь: rapidapi.com/domainr/api/domainr/ ценообразование в документации API указано как бесплатное, тогда как на самом деле оно было условно-бесплатным. - person user2755660; 27.05.2020

Это Кенни, автор сообщения в блоге, на которое вы ссылались. Если у вас все еще есть проблемы, я обновил сообщение в блоге, чтобы отразить несколько изменений, которые заставят это работать на вас. https://kennymcnett.com/domain-name-checker-in-google-sheets/

person Kenny    schedule 27.05.2020