리소스를 가져오고 인터넷을 통해 다른 호스트와 통신합니다.
이 서비스를 사용하면 스크립트가 다른 애플리케이션과 통신하거나 다른 리소스에 액세스할 수 있습니다. URL을 가져와서 검색할 수 있습니다 스크립트는 URL 가져오기 서비스를 사용하여 HTTP 및 HTTPS를 실행할 수 있습니다. 요청을 보내고 응답을 받을 수 있습니다 URL 가져오기 서비스는 다양한 목적으로 설계되었습니다
이 서비스를 사용한 요청은 설정된 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 응답 데이터입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
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 키/값 맵 |
method | String | 요청의 HTTP 메서드(get , delete )
patch , post 또는 put 입니다. 기본값은 get 입니다. |
payload | String | 요청에 대한 페이로드 (즉, POST 본문) 특정 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, JavaScript 객체일 수 있습니다 JavaScript 객체는 양식 필드의 매핑으로 해석됩니다. 값으로, 값은 문자열 또는 blob일 수 있습니다. |
useIntranet | Boolean | 지원 중단되었습니다. 이렇게 하면 가져오기에 지정된 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내의 URL |
validateHttpsCertificates | Boolean | false 이면 가져오기가 하나라도 무시함
잘못된 인증서가 포함되어 있습니다 기본값은 true 입니다. |
followRedirects | Boolean | false 인 경우 가져오기가 자동으로 실행되지 않습니다.
HTTP 리디렉션을 따릅니다 원래의 HTTP 응답을 반환합니다. 기본값은 true 입니다. |
muteHttpExceptions | Boolean | true 인 경우 가져오기가
응답 코드가 실패를 나타내는 경우 예외를 허용하고 대신 HTTPResponse 를 반환합니다. 기본값은 false 입니다. |
escaping | Boolean | URL의 예약 문자 false 개가
이스케이프 처리됩니다. 기본값은 true 입니다. |
리턴
HTTPResponse
- HTTP 응답 데이터입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
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 키/값 맵 |
method | String | 요청의 HTTP 메서드(get , delete )
patch , post 또는 put 입니다. 기본값은 get 입니다. |
payload | String | 요청에 대한 페이로드 (즉, POST 본문) 특정 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, JavaScript 객체일 수 있습니다 JavaScript 객체는 양식 필드의 매핑으로 해석됩니다. 값으로, 값은 문자열 또는 blob일 수 있습니다. |
useIntranet | Boolean | 지원 중단되었습니다. 이렇게 하면 가져오기에 지정된 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내의 URL |
validateHttpsCertificates | Boolean | false 이면 가져오기가 하나라도 무시함
잘못된 인증서가 포함되어 있습니다 기본값은 true 입니다. |
followRedirects | Boolean | false 인 경우 가져오기가 자동으로 실행되지 않습니다.
HTTP 리디렉션을 따릅니다 원래의 HTTP 응답을 반환합니다. 기본값은 true 입니다. |
muteHttpExceptions | Boolean | true 인 경우 가져오기에서 다음 오류가 발생하지 않습니다.
응답 코드가 실패를 나타내는 경우 예외를 허용하고 대신 HTTPResponse 를 반환합니다. 기본값은 false 입니다. |
escaping | Boolean | false 인 경우 URL의 예약된 문자는 사용할 수 없습니다.
이스케이프 처리됩니다. 기본값은 true 입니다. |
리턴
HTTPResponse[]
- 각 입력 요청의 HTTP 응답 데이터 배열입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
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
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
작업이 호출된 경우 발생한 요청을 반환합니다.
이 메서드는 실제로 요청을 발행하지 않습니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
url | String | 조회할 URL입니다. URL은 최대 2,082자(영문 기준)까지 입력할 수 있습니다. |
params | Object | 아래에 정의된 대로 고급 매개변수를 지정하는 자바스크립트 객체입니다(선택사항). |
고급 매개변수
이름 | 유형 | 설명 |
---|---|---|
contentType | 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)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, JavaScript 객체일 수 있습니다 JavaScript 객체는 양식 필드의 매핑으로 해석됩니다. 값으로, 값은 문자열 또는 blob일 수 있습니다. |
useIntranet | Boolean | 지원 중단되었습니다. 이렇게 하면 가져오기에 지정된 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내의 URL |
validateHttpsCertificates | Boolean | false 이면 가져오기가 하나라도 무시함
잘못된 인증서가 포함되어 있습니다 기본값은 true 입니다. |
followRedirects | Boolean | false 인 경우 가져오기가 자동으로 실행되지 않습니다.
HTTP 리디렉션을 따릅니다 원래의 HTTP 응답을 반환합니다. 기본값은 true 입니다. |
muteHttpExceptions | Boolean | true 인 경우 가져오기가
응답 코드가 실패를 나타내는 경우 예외를 허용하고 대신 HTTPResponse 를 반환합니다. 기본값은 false 입니다. |
escaping | Boolean | URL의 예약된 문자 false 개가
이스케이프 처리됩니다. 기본값은 true 입니다. |
리턴
Object
- 필드 이름과 값의 매핑입니다. 맵에는 최소한 url
키가 있습니다.
method
, contentType
, payload
, headers
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.external_request