■HTTPResponseオブジェクトについて
fetchで簡単に指定のアドレスにアクセスできることはよくわかりましたが、ではこのfetchで返される値は、一体どういうものなのでしょうか。
これは、「HTTPResponse」というオブジェクトなのです。これはサーバーからのレスポンスに関する情報を管理するもので、以下のようなメソッドが用意されています。
getContent――取得したコンテンツをByte配列として返します。
getContentText――取得したコンテンツをテキストとして返します。
getHeaders――ヘッダー情報を連想配列の形で返します。
getResponseCode――レスポンスコードの整数値を返します。
注意すべきは、getHeadersです。ヘッダー情報は、いくつもの情報が用意されているのが常ですので、それらを連想配列としてまとめたものが返されます。ですから、ここから更に値を取り出して処理する必要があるでしょう。
コンテンツは、通常のテキストベースのものについてはgetContentTextで十分ですが、例えばイメージファイルなどのようにバイナリデータにアクセスするような場合には、getContentで取得したバイナリデータの配列を利用することになるでしょう。
では、簡単な利用例を下にあげておきましょう。これは、libro.tuyano.comにアクセスし、そのヘッダー情報を順に取り出してログ出力するものです。getHeadersしたものを繰り返しで順に取り出していることがわかるでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
function fetch(){
var url = "http://libro.tuyano.com";
var response = UrlFetchApp.fetch(url);
var headers = response.getHeaders();
for(var key in headers){
Logger.log(key + ":: " + headers[key]);
}
}

記事のリストに戻る