リソースを取得し、インターネットを介して他のホストと通信します。
このサービスにより、スクリプトが他のアプリケーションと通信したり、他のリソースにアクセスしたりできるようになります。 URL を取得します。スクリプトは URL 取得サービスを使用して HTTP と HTTPS を発行できます。 レスポンスを受信します。URL 取得サービスは、Google のネットワーク インフラストラクチャを使用して スケーリングが目的の場合です。
このサービスを使用して行われたリクエストは、IP 範囲の一連のプールから発信されます。次の場合は、IP アドレスの一覧を検索できます。 これらのリクエストを許可リストに登録または承認する必要があります。
このサービスには https://www.googleapis.com/auth/script.external_request
が必要です。
あります。ほとんどの場合 Apps Script では、スクリプトに必要なスコープが自動的に検出されて組み込まれます。
ただし、スコープを設定する場合は
を使用するには、このスコープを手動で追加する必要がありますUrlFetchApp
。
関連情報
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
fetch(url) | HTTPResponse | URL を取得するリクエストを送信します。 |
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());
パラメータ
名前 | 型 | 説明 |
---|---|---|
url | String | 取得する 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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
url | String | 取得する URL。URL の最大文字数は 2,082 文字です。 |
params | Object | 以下に定義する高度なパラメータを指定するオプションの JavaScript オブジェクト。 |
拡張パラメータ
名前 | 型 | 説明 |
---|---|---|
contentType | String | コンテンツ タイプ(デフォルトは 'application/x-www-form-urlencoded').コンテンツ タイプのもう一つの例は「application/xml」です。 charset=utf-8' のようなものです。 |
headers | Object | リクエストの HTTP ヘッダーの JavaScript Key-Value マップ |
method | String | リクエストの HTTP メソッド: get 、delete 、
patch 、post 、または put 。デフォルトは get です。 |
payload | String | リクエストのペイロード(POST 本文)になります。確実 HTTP メソッド(GET など)はペイロードを受け入れません。文字列、バイト配列、 blob、JavaScript オブジェクトですJavaScript オブジェクトはフォーム フィールドのマップとして解釈される 値には文字列または blob を使用できます。 |
useIntranet | Boolean | 非推奨です。これにより、フェッチで、指定された SDC(非推奨)を介してドメインにリンクされているイントラネット内の URL |
validateHttpsCertificates | Boolean | false の場合、フェッチは何も無視します。
HTTPS リクエストでは無効な証明書です。デフォルトは true です。 |
followRedirects | Boolean | false の場合、取得は自動的に行われません。
HTTP リダイレクトに従う元の HTTP レスポンスが返されます。デフォルトは true です。 |
muteHttpExceptions | Boolean | true の場合、フェッチは
レスポンス コードが失敗を示している場合は例外となり、代わりに HTTPResponse が返されます。デフォルトは false です。 |
escaping | Boolean | URL 内の予約文字 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]);
パラメータ
名前 | 型 | 説明 |
---|---|---|
requests | Object[] | 定義されたリクエストを指定する URL または JavaScript オブジェクトの配列 ご覧ください |
拡張パラメータ
名前 | 型 | 説明 |
---|---|---|
url | String | 取得する URL です。URL の最大文字数は 2,082 文字です。 |
contentType | String | コンテンツ タイプ(デフォルトは 'application/x-www-form-urlencoded').コンテンツ タイプのもう一つの例は「application/xml」です。 charset=utf-8' のようなものです。 |
headers | Object | リクエストの HTTP ヘッダーの JavaScript Key-Value マップ |
method | String | リクエストの HTTP メソッド: get 、delete 、
patch 、post 、または put 。デフォルトは get です。 |
payload | String | リクエストのペイロード(POST 本文)になります。確実 HTTP メソッド(GET など)はペイロードを受け入れません。文字列、バイト配列、 blob、JavaScript オブジェクトですJavaScript オブジェクトはフォーム フィールドのマップとして解釈される 値には文字列または blob を使用できます。 |
useIntranet | Boolean | 非推奨です。これにより、フェッチで、指定された SDC(非推奨)を介してドメインにリンクされているイントラネット内の URL |
validateHttpsCertificates | Boolean | false の場合、フェッチは何も無視します。
HTTPS リクエストでは無効な証明書です。デフォルトは true です。 |
followRedirects | Boolean | false の場合、取得は自動的に行われません。
HTTP リダイレクトに従う元の HTTP レスポンスが返されます。デフォルトは true です。 |
muteHttpExceptions | Boolean | true の場合、フェッチは
レスポンス コードが失敗を示している場合は例外となり、代わりに HTTPResponse が返されます。デフォルトは false です。 |
escaping | Boolean | false の場合、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]); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
url | String | 検索する URL。URL の最大文字数は 2,082 文字です。 |
戻る
Object
- フィールド名から値へのマップ。マップには少なくとも次のキーがあります: url
、
method
、contentType
、payload
、headers
。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
オペレーションが呼び出された場合に行われたリクエストを返します。
このメソッドは実際にはリクエストを発行しません。
パラメータ
名前 | 型 | 説明 |
---|---|---|
url | String | 検索する URL。URL の最大文字数は 2,082 文字です。 |
params | Object | 以下に定義する高度なパラメータを指定するオプションの JavaScript オブジェクト。 |
拡張パラメータ
名前 | 型 | 説明 |
---|---|---|
contentType | String | コンテンツ タイプ(デフォルトは 'application/x-www-form-urlencoded').コンテンツ タイプのもう一つの例は「application/xml」です。 charset=utf-8' のようなものです。 |
headers | Object | リクエストの HTTP ヘッダーの JavaScript Key-Value マップ |
method | String | リクエストの HTTP メソッド: get 、delete 、
patch 、post 、または put 。デフォルトは get です。 |
payload | String | リクエストのペイロード(POST 本文)になります。確実 HTTP メソッド(GET など)はペイロードを受け入れません。文字列、バイト配列、 blob、JavaScript オブジェクトですJavaScript オブジェクトはフォーム フィールドのマップとして解釈される 値には文字列または blob を使用できます。 |
useIntranet | Boolean | 非推奨です。これにより、フェッチで、指定された SDC(非推奨)を介してドメインにリンクされているイントラネット内の URL |
validateHttpsCertificates | Boolean | false の場合、フェッチは何も無視します。
HTTPS リクエストでは無効な証明書です。デフォルトは true です。 |
followRedirects | Boolean | false の場合、取得は自動的に行われません。
HTTP リダイレクトに従う元の HTTP レスポンスが返されます。デフォルトは true です。 |
muteHttpExceptions | Boolean | true の場合、フェッチは
レスポンス コードが失敗を示している場合は例外となり、代わりに HTTPResponse が返されます。デフォルトは false です。 |
escaping | Boolean | false が URL の予約文字に使用されない場合、
エスケープされます。デフォルトは true です。 |
戻る
Object
- フィールド名から値へのマップ。マップには少なくとも次のキーがあります: url
、
method
、contentType
、payload
、headers
。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/script.external_request