Ошибка в простом скрипте Google Apps, как скрыть - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть простой Google Apps Script, который проверяет URL-адреса, однако я хотел бы отобразить что-то вроде «Недействительно» для любых ответов, не относящихся к 200 статусам.Все, что я пробую, показывает "#ERROR!"в Google Sheet, за исключением ответов со статусом 200.

Вот мой код:

function check_url(url) {
  var response = UrlFetchApp.fetch(url)
  if( response.getResponseCode() == 200 ) {
    return true
  } else if( response.getResponseCode() == 401 ) {
    return "401"
  } else {
    return "Not Valid"
  }  
}

Любая помощь очень ценится, поскольку я не очень хорошо знаком со сценариями GA или Javascript.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Вы должны muteHTTPExceptions:

var response = UrlFetchApp.fetch(url,{'muteHTTPExceptions':true})

Также используйте массивы с fetchAll методом , если у вас есть большое количество URL для извлечения.

0 голосов
/ 25 ноября 2018

Это тот случай, когда вам нужен блок try catch.При извлечении выдается ошибка, поэтому ответа нет.

function check_url(url) {
  try {
    var response = UrlFetchApp.fetch(url)
    if( response.getResponseCode() == 200 ) {
      return true
    } else if( response.getResponseCode() == 401 ) {
      return "401"
    }
  }
  catch(err) {
    return "Not Valid"
  }  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...