2011-12-15 18 views

答えて

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 ; 
    } 
} 

この関数を定義した、あなたは、細胞からそれを呼び出すことができます。UrlFetchApp.fetch()

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

バグは文字列マッチングが必要になります。修正プログラムはディスカッションスレッドUrlFetchApp.fetch - get response code on exception?で約束されましたが、これまでに配信されたことはありません。回避策は、例外メッセージのテキストに依存します。それは信頼できないようでロケールに依存しているようです。

Googleの記事Troubleshooting and Debugging Scriptsは、Google Apps Scriptがさまざまな操作に対してクォータを課すと警告しています。 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。列CのURLの列全体とステータスチェックの時間にスクリプトを適用する方法は?さらに、50のURLのように1時間ごとに点検状況を作るために離れていますか? – user1788736

関連する問題