2011-12-15 2 views
2

У меня есть список URL-адресов, на которые я хочу проверить код ответа. Кто-нибудь знает, как я могу это сделать в документах Google? У меня 16000 URL, так что это довольно большой вопрос.Как получить код ответа в таблицу Google

Любая помощь приветствуется.

ответ

5

Для этого нет встроенной формулы, но вы можете написать ее в Google Apps Script. Вот пример, который вы можете адаптировать к своей цели.

function HTTPResponse(uri) 
{ 
    var response_code ; 
    try { 
    response_code = UrlFetchApp .fetch(uri) .getResponseCode() .toString() ; 
    } 
    catch(error) { 
    response_code = error .toString() .match(/ returned code (\d\d\d)\./)[1] ; 
    } 
    finally { 
    return response_code ; 
    } 
} 

Определив эту функцию, вы можете вызвать его из клетки:

A1: 'http://www.google.com/ 
A2: = HTTPResponse(A1) 

ошибка в UrlFetchApp.fetch() делает строку соответствия необходимым. Исправление было обещано в дискуссионной теме UrlFetchApp.fetch - get response code on exception?, но я не могу найти, что он когда-либо был доставлен. Обходной путь зависит от текста сообщения об исключении. Это кажется ненадежным и зависит от локали.

В статье от Troubleshooting and Debugging Scripts предупреждает, Вы вполне можете обнаружить, что 16 000 одновременных HTTP-запросов будут отключены. В статье упоминаются пользователи, имеющие особые потребности в Google Apps Script Help Forum.

+0

Официальные инструкции по созданию пользовательской функции: https://developers.google.com/apps-script/guides/sheets/functions#creating_a_custom_function Следуйте за этим, а затем просто скопируйте этот сценарий в редактор. Отлично работает, спасибо! – Motin

+0

Вот сообщение в блоге с более подробными инструкциями, в которых используется приведенный выше фрагмент: http://www.tinkeredge.com/blog/2012/04/check-on-page-for-broken-links-with-google-docs/ – Motin

+1

@ MετάEd. Как применить скрипт для всего столбца URL-адресов и времени проверки статуса в столбце C? Кроме того, есть ли время, чтобы проверить статус каждый час за 50 URL? – user1788736

Смежные вопросы