URLからステータスコードを取得
GoogleスプレッドシートにURLの一覧を記載することがあるが、記載したURLが問題がないかクリックしてブラウザで確認せずに知りたいことがある。
そんなときはGoogle Apps ScriptでURLからステータスコードを取得する関数を作成する。
まず例としてA列にURLを記載する。
次にURLのtitleが確認できるようにB列に=IMPORTXML(A2,"//title")でtitleを取得する。
取得できないと「#N/A」になるのだが、ステータスコードがわからないため、これだけだと何が発生しているかがわからない。
そこで作成するのがステータスコードを取得する関数になる。
関数は以下のコードをスクリプトエディタで保存すれば使える。
function getStatusCode(url) {
const response = UrlFetchApp.fetch(url, {muteHttpExceptions: true})
return response.getResponseCode()
}
ステータスコードはそのままだとURL一覧が大量にある際に問題が発生しているのかわかりにくいので、条件付き書式設定ルールで400以上なら背景色を赤にしておくと良いだろう。