Class UrlFetchApp

UrlFetchApp

リソースを取得し、インターネットを介して他のホストと通信します。

このサービスにより、スクリプトが他のアプリケーションと通信したり、他のリソースにアクセスしたりできるようになります。 URL を取得します。スクリプトは URL 取得サービスを使用して HTTP と HTTPS を発行できます。 レスポンスを受信します。URL 取得サービスは、Google のネットワーク インフラストラクチャを使用して スケーリングが目的の場合です。

このサービスを使用して行われたリクエストは、IP 範囲の一連のプールから発信されます。次の場合は、IP アドレスの一覧を検索できます。 これらのリクエストを許可リストに登録または承認する必要があります。

このサービスには https://www.googleapis.com/auth/script.external_request が必要です。 あります。ほとんどの場合 Apps Script では、スクリプトに必要なスコープが自動的に検出されて組み込まれます。 ただし、スコープを設定する場合は を使用するには、このスコープを手動で追加する必要がありますUrlFetchApp

関連情報

メソッド

メソッド戻り値の型概要
fetch(url)HTTPResponseURL を取得するリクエストを送信します。
fetch(url, params)HTTPResponseオプションの詳細パラメータを使用して、URL を取得するリクエストを作成します。
fetchAll(requests)HTTPResponse[]オプションの詳細パラメータを使用して、複数のリクエストを発行し、複数の URL を取得します。
getRequest(url)Objectオペレーションが呼び出された場合に行われたリクエストを返します。
getRequest(url, params)Objectオペレーションが呼び出された場合に行われたリクエストを返します。

詳細なドキュメント

fetch(url)

URL を取得するリクエストを送信します。

これは HTTP と HTTPS の両方で機能します。

// The code below logs the HTML code of the Google home page.
var response = UrlFetchApp.fetch("http://www.google.com/");
Logger.log(response.getContentText());

パラメータ

名前説明
urlString取得する URL。URL の最大文字数は 2,082 文字です。

戻る

HTTPResponse - HTTP レスポンス データ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/script.external_request

fetch(url, params)

オプションの詳細パラメータを使用して、URL を取得するリクエストを作成します。

この機能は HTTP と HTTPS のどちらでも機能します。

// Make a GET request and log the returned content.
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
// Make a POST request with form data.
var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
var formData = {
  'name': 'Bob Smith',
  'email': 'bob@example.com',
  'resume': resumeBlob
};
// Because payload is a JavaScript object, it is interpreted as
// as form data. (No need to specify contentType; it automatically
// defaults to either 'application/x-www-form-urlencoded'
// or 'multipart/form-data')
var options = {
  'method' : 'post',
  'payload' : formData
};
UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload.
var data = {
  'name': 'Bob Smith',
  'age': 35,
  'pets': ['fido', 'fluffy']
};
var options = {
  'method' : 'post',
  'contentType': 'application/json',
  // Convert the JavaScript object to a JSON string.
  'payload' : JSON.stringify(data)
};
UrlFetchApp.fetch('https://httpbin.org/post', options);

パラメータ

名前説明
urlString取得する URL。URL の最大文字数は 2,082 文字です。
paramsObject以下に定義する高度なパラメータを指定するオプションの JavaScript オブジェクト。

拡張パラメータ

名前説明
contentTypeStringコンテンツ タイプ(デフォルトは 'application/x-www-form-urlencoded').コンテンツ タイプのもう一つの例は「application/xml」です。 charset=utf-8' のようなものです。
headersObjectリクエストの HTTP ヘッダーの JavaScript Key-Value マップ
methodStringリクエストの HTTP メソッド: getdeletepatchpost、または put。デフォルトは get です。
payloadStringリクエストのペイロード(POST 本文)になります。確実 HTTP メソッド(GET など)はペイロードを受け入れません。文字列、バイト配列、 blob、JavaScript オブジェクトですJavaScript オブジェクトはフォーム フィールドのマップとして解釈される 値には文字列または blob を使用できます。
useIntranetBoolean非推奨です。これにより、フェッチで、指定された SDC(非推奨)を介してドメインにリンクされているイントラネット内の URL
validateHttpsCertificatesBooleanfalse の場合、フェッチは何も無視します。 HTTPS リクエストでは無効な証明書です。デフォルトは true です。
followRedirectsBooleanfalse の場合、取得は自動的に行われません。 HTTP リダイレクトに従う元の HTTP レスポンスが返されます。デフォルトは true です。
muteHttpExceptionsBooleantrue の場合、フェッチは レスポンス コードが失敗を示している場合は例外となり、代わりに HTTPResponse が返されます。デフォルトは false です。
escapingBooleanURL 内の予約文字 false が エスケープされます。デフォルトは true です。

戻る

HTTPResponse - HTTP レスポンス データ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/script.external_request

fetchAll(requests)

オプションの詳細パラメータを使用して、複数のリクエストを発行し、複数の URL を取得します。

これは HTTP と HTTPS の両方で機能します。

// Make both a POST request with form data, and a GET request.
var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
var formData = {
  'name': 'Bob Smith',
  'email': 'bob@example.com',
  'resume': resumeBlob
};
// Because payload is a JavaScript object, it is interpreted as
// as form data. (No need to specify contentType; it defaults to either
// 'application/x-www-form-urlencoded' or 'multipart/form-data')
var request1 = {
  'url': 'https://httpbin.org/post',
  'method' : 'post',
  'payload' : formData
};
// A request may also just be a URL.
var request2 = 'https://httpbin.org/get?key=value';
UrlFetchApp.fetchAll([request1, request2]);

パラメータ

名前説明
requestsObject[]定義されたリクエストを指定する URL または JavaScript オブジェクトの配列 ご覧ください

拡張パラメータ

名前説明
urlString取得する URL です。URL の最大文字数は 2,082 文字です。
contentTypeStringコンテンツ タイプ(デフォルトは 'application/x-www-form-urlencoded').コンテンツ タイプのもう一つの例は「application/xml」です。 charset=utf-8' のようなものです。
headersObjectリクエストの HTTP ヘッダーの JavaScript Key-Value マップ
methodStringリクエストの HTTP メソッド: getdeletepatchpost、または put。デフォルトは get です。
payloadStringリクエストのペイロード(POST 本文)になります。確実 HTTP メソッド(GET など)はペイロードを受け入れません。文字列、バイト配列、 blob、JavaScript オブジェクトですJavaScript オブジェクトはフォーム フィールドのマップとして解釈される 値には文字列または blob を使用できます。
useIntranetBoolean非推奨です。これにより、フェッチで、指定された SDC(非推奨)を介してドメインにリンクされているイントラネット内の URL
validateHttpsCertificatesBooleanfalse の場合、フェッチは何も無視します。 HTTPS リクエストでは無効な証明書です。デフォルトは true です。
followRedirectsBooleanfalse の場合、取得は自動的に行われません。 HTTP リダイレクトに従う元の HTTP レスポンスが返されます。デフォルトは true です。
muteHttpExceptionsBooleantrue の場合、フェッチは レスポンス コードが失敗を示している場合は例外となり、代わりに HTTPResponse が返されます。デフォルトは false です。
escapingBooleanfalse の場合、URL 内の予約文字は エスケープされます。デフォルトは true です。

戻る

HTTPResponse[] - 各入力リクエストからの HTTP レスポンス データの配列。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/script.external_request

getRequest(url)

オペレーションが呼び出された場合に行われたリクエストを返します。

このメソッドは実際にはリクエストを発行しません。

// The code below logs the value for every key of the returned map.
var response = UrlFetchApp.getRequest("http://www.google.com/");
for(i in response) {
  Logger.log(i + ": " + response[i]);
}

パラメータ

名前説明
urlString検索する URL。URL の最大文字数は 2,082 文字です。

戻る

Object - フィールド名から値へのマップ。マップには少なくとも次のキーがあります: urlmethodcontentTypepayloadheaders

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/script.external_request

getRequest(url, params)

オペレーションが呼び出された場合に行われたリクエストを返します。

このメソッドは実際にはリクエストを発行しません。

パラメータ

名前説明
urlString検索する URL。URL の最大文字数は 2,082 文字です。
paramsObject以下に定義する高度なパラメータを指定するオプションの JavaScript オブジェクト。

拡張パラメータ

名前説明
contentTypeStringコンテンツ タイプ(デフォルトは 'application/x-www-form-urlencoded').コンテンツ タイプのもう一つの例は「application/xml」です。 charset=utf-8' のようなものです。
headersObjectリクエストの HTTP ヘッダーの JavaScript Key-Value マップ
methodStringリクエストの HTTP メソッド: getdeletepatchpost、または put。デフォルトは get です。
payloadStringリクエストのペイロード(POST 本文)になります。確実 HTTP メソッド(GET など)はペイロードを受け入れません。文字列、バイト配列、 blob、JavaScript オブジェクトですJavaScript オブジェクトはフォーム フィールドのマップとして解釈される 値には文字列または blob を使用できます。
useIntranetBoolean非推奨です。これにより、フェッチで、指定された SDC(非推奨)を介してドメインにリンクされているイントラネット内の URL
validateHttpsCertificatesBooleanfalse の場合、フェッチは何も無視します。 HTTPS リクエストでは無効な証明書です。デフォルトは true です。
followRedirectsBooleanfalse の場合、取得は自動的に行われません。 HTTP リダイレクトに従う元の HTTP レスポンスが返されます。デフォルトは true です。
muteHttpExceptionsBooleantrue の場合、フェッチは レスポンス コードが失敗を示している場合は例外となり、代わりに HTTPResponse が返されます。デフォルトは false です。
escapingBooleanfalse が URL の予約文字に使用されない場合、 エスケープされます。デフォルトは true です。

戻る

Object - フィールド名から値へのマップ。マップには少なくとも次のキーがあります: urlmethodcontentTypepayloadheaders

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/script.external_request