인터넷을 통해 리소스를 가져오고 다른 호스트와 통신합니다.
이 서비스를 사용하면 스크립트가 URL을 가져와 다른 애플리케이션과 통신하거나 웹의 다른 리소스에 액세스할 수 있습니다. 스크립트는 URL Fetch 서비스를 사용하여 HTTP 및 HTTPS 요청을 실행하고 응답을 수신할 수 있습니다. URL Fetch 서비스는 효율성과 확장성을 위해 Google의 네트워크 인프라를 사용합니다.
이 서비스를 사용하여 이루어진 요청은 지정된 IP 범위 풀에서 시작됩니다. 이러한 요청을 허용 목록에 추가하거나 승인해야 하는 경우 IP 주소의 전체 목록을 조회할 수 있습니다.
이 서비스에는 https://www.googleapis.com/auth/script.external_request
범위가 필요합니다. 대부분의 경우 Apps Script는 스크립트에 필요한 범위를 자동으로 감지하고 포함하지만 범위를 명시적으로 설정하는 경우 Url
를 사용하려면 이 범위를 수동으로 추가해야 합니다.
참고 항목
메서드
메서드 | 반환 유형 | 간략한 설명 |
---|---|---|
fetch(url) | HTTPResponse | URL을 가져오기 위한 요청을 실행합니다. |
fetch(url, params) | HTTPResponse | 선택적 고급 매개변수를 사용하여 URL을 가져오도록 요청합니다. |
fetch | HTTPResponse[] | 선택적 고급 매개변수를 사용하여 여러 URL을 가져오기 위해 여러 번 요청합니다. |
get | Object | 작업이 호출된 경우 이루어진 요청을 반환합니다. |
get | Object | 작업이 호출된 경우 이루어진 요청을 반환합니다. |
자세한 문서
fetch(url)
URL을 가져오기 위한 요청을 실행합니다.
이는 HTTP와 HTTPS에서 모두 작동합니다.
// The code below logs the HTML code of the Google home page. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
매개변수
이름 | 유형 | 설명 |
---|---|---|
url | String | 가져올 URL입니다. URL은 최대 2,082자(영문 기준)까지 가능합니다. |
리턴
HTTPResponse
: HTTP 응답 데이터입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
선택적 고급 매개변수를 사용하여 URL을 가져오도록 요청합니다.
이는 HTTP와 HTTPS에서 모두 작동합니다.
// Make a GET request and log the returned content. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
// Make a POST request with form data. const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); const 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') const options = { method: 'post', payload: formData, }; UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload. const data = { name: 'Bob Smith', age: 35, pets: ['fido', 'fluffy'], }; const 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 객체입니다. |
고급 매개변수
이름 | 유형 | 설명 |
---|---|---|
content | String | 콘텐츠 유형 (기본값: 'application/x-www-form-urlencoded') 콘텐츠 유형의 또 다른 예는 'application/xml; charset=utf-8'입니다. |
headers | Object | 요청의 HTTP 헤더에 관한 JavaScript 키/값 매핑 |
method | String | 요청의 HTTP 메서드(get , delete , patch , post 또는 put )입니다. 기본값은 get 입니다. |
payload | String | 요청의 페이로드 (즉, POST 본문) 일부 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, blob 또는 JavaScript 객체일 수 있습니다. JavaScript 객체는 양식 필드 이름과 값의 맵으로 해석되며, 여기서 값은 문자열 또는 blob일 수 있습니다. |
use | Boolean | 지원 중단되었습니다. 이렇게 하면 가져오기가 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내에서 지정된 URL을 확인하도록 지시합니다. |
validate | Boolean | false 인 경우 가져오기는 HTTPS 요청에 대한 잘못된 인증서를 무시합니다. 기본값은 true 입니다. |
follow | Boolean | false 인 경우 가져오기가 자동으로 HTTP 리디렉션을 따르지 않으며 원래 HTTP 응답을 반환합니다. 기본값은 true 입니다. |
mute | Boolean | true 인 경우 응답 코드가 실패를 나타내도 가져오기가 예외를 발생시키지 않고 대신 HTTPResponse 를 반환합니다. 기본값은 false 입니다. |
escaping | Boolean | URL의 false 예약된 문자가 이스케이프되지 않은 경우 기본값은 true 입니다. |
리턴
HTTPResponse
: HTTP 응답 데이터입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request
fetch All(requests)
선택적 고급 매개변수를 사용하여 여러 URL을 가져오기 위해 여러 번 요청합니다.
이는 HTTP와 HTTPS에서 모두 작동합니다.
// Make both a POST request with form data, and a GET request. const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); const 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') const request1 = { url: 'https://httpbin.org/post', method: 'post', payload: formData, }; // A request may also just be a URL. const request2 = 'https://httpbin.org/get?key=value'; UrlFetchApp.fetchAll([request1, request2]);
매개변수
이름 | 유형 | 설명 |
---|---|---|
requests | Object[] | 아래에 정의된 대로 요청을 지정하는 URL 또는 JavaScript 객체의 배열입니다. |
고급 매개변수
이름 | 유형 | 설명 |
---|---|---|
url | String | 가져올 URL입니다. URL은 최대 2,082자(영문 기준)까지 가능합니다. |
content | String | 콘텐츠 유형 (기본값: 'application/x-www-form-urlencoded') 콘텐츠 유형의 또 다른 예는 'application/xml; charset=utf-8'입니다. |
headers | Object | 요청의 HTTP 헤더에 관한 JavaScript 키/값 매핑 |
method | String | 요청의 HTTP 메서드(get , delete , patch , post 또는 put )입니다. 기본값은 get 입니다. |
payload | String | 요청의 페이로드 (즉, POST 본문) 일부 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, blob 또는 JavaScript 객체일 수 있습니다. JavaScript 객체는 양식 필드 이름과 값의 맵으로 해석되며, 여기서 값은 문자열 또는 blob일 수 있습니다. |
use | Boolean | 지원 중단되었습니다. 이렇게 하면 가져오기가 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내에서 지정된 URL을 확인하도록 지시합니다. |
validate | Boolean | false 인 경우 가져오기는 HTTPS 요청에 대한 잘못된 인증서를 무시합니다. 기본값은 true 입니다. |
follow | Boolean | false 인 경우 가져오기가 자동으로 HTTP 리디렉션을 따르지 않으며 원래 HTTP 응답을 반환합니다. 기본값은 true 입니다. |
mute | Boolean | true 인 경우 가져오기가 응답 코드가 실패를 나타내는 경우 예외를 발생시키지 않고 대신 HTTPResponse 를 반환합니다. 기본값은 false 입니다. |
escaping | Boolean | false 인 경우 URL의 예약된 문자가 이스케이프 처리되지 않습니다. 기본값은 true 입니다. |
리턴
HTTPResponse[]
: 각 입력 요청의 HTTP 응답 데이터 배열입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request
get Request(url)
작업이 호출된 경우 이루어진 요청을 반환합니다.
이 메서드는 실제로 요청을 실행하지 않습니다.
// The code below logs the value for every key of the returned map. const response = UrlFetchApp.getRequest('http://www.google.com/'); for (const i in response) { Logger.log(`${i}: ${response[i]}`); }
매개변수
이름 | 유형 | 설명 |
---|---|---|
url | String | 조회할 URL입니다. URL은 최대 2,082자(영문 기준)까지 가능합니다. |
리턴
Object
: 필드 이름과 값의 매핑입니다. 맵에는 url
, method
, content
, payload
, headers
키가 하나 이상 있습니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request
get Request(url, params)
작업이 호출된 경우 이루어진 요청을 반환합니다.
이 메서드는 실제로 요청을 실행하지 않습니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
url | String | 조회할 URL입니다. URL은 최대 2,082자(영문 기준)까지 가능합니다. |
params | Object | 아래에 정의된 대로 고급 매개변수를 지정하는 JavaScript 객체(선택사항)입니다. |
고급 매개변수
이름 | 유형 | 설명 |
---|---|---|
content | String | 콘텐츠 유형 (기본값: 'application/x-www-form-urlencoded') 콘텐츠 유형의 또 다른 예는 'application/xml; charset=utf-8'입니다. |
headers | Object | 요청의 HTTP 헤더에 관한 JavaScript 키/값 매핑 |
method | String | 요청의 HTTP 메서드(get , delete , patch , post 또는 put )입니다. 기본값은 get 입니다. |
payload | String | 요청의 페이로드 (즉, POST 본문) 일부 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, blob 또는 JavaScript 객체일 수 있습니다. JavaScript 객체는 양식 필드 이름과 값의 맵으로 해석되며, 여기서 값은 문자열 또는 blob일 수 있습니다. |
use | Boolean | 지원 중단되었습니다. 이렇게 하면 가져오기가 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내에서 지정된 URL을 확인하도록 지시합니다. |
validate | Boolean | false 인 경우 가져오기는 HTTPS 요청에 대한 잘못된 인증서를 무시합니다. 기본값은 true 입니다. |
follow | Boolean | false 인 경우 가져오기가 자동으로 HTTP 리디렉션을 따르지 않으며 원래 HTTP 응답을 반환합니다. 기본값은 true 입니다. |
mute | Boolean | true 인 경우 응답 코드가 실패를 나타내도 가져오기가 예외를 발생시키지 않고 대신 HTTPResponse 를 반환합니다. 기본값은 false 입니다. |
escaping | Boolean | URL의 false 예약된 문자가 이스케이프되지 않은 경우 기본값은 true 입니다. |
리턴
Object
: 필드 이름과 값의 매핑입니다. 맵에는 url
, method
, content
, payload
, headers
키가 하나 이상 있습니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상의 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request