Class UrlFetchApp

UrlFetchApp

리소스를 가져오고 인터넷을 통해 다른 호스트와 통신합니다.

이 서비스를 사용하면 스크립트가 다른 애플리케이션과 통신하거나 다른 리소스에 액세스할 수 있습니다. URL을 가져와서 검색할 수 있습니다 스크립트는 URL 가져오기 서비스를 사용하여 HTTP 및 HTTPS를 실행할 수 있습니다. 요청을 보내고 응답을 받을 수 있습니다 URL 가져오기 서비스는 다양한 목적으로 설계되었습니다

이 서비스를 사용한 요청은 설정된 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 응답 데이터입니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

  • 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 키/값 맵
methodString요청의 HTTP 메서드(get, delete) patch, post 또는 put입니다. 기본값은 get입니다.
payloadString요청에 대한 페이로드 (즉, POST 본문) 특정 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, JavaScript 객체일 수 있습니다 JavaScript 객체는 양식 필드의 매핑으로 해석됩니다. 값으로, 값은 문자열 또는 blob일 수 있습니다.
useIntranetBoolean지원 중단되었습니다. 이렇게 하면 가져오기에 지정된 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내의 URL
validateHttpsCertificatesBooleanfalse이면 가져오기가 하나라도 무시함 잘못된 인증서가 포함되어 있습니다 기본값은 true입니다.
followRedirectsBooleanfalse인 경우 가져오기가 자동으로 실행되지 않습니다. HTTP 리디렉션을 따릅니다 원래의 HTTP 응답을 반환합니다. 기본값은 true입니다.
muteHttpExceptionsBooleantrue인 경우 가져오기가 응답 코드가 실패를 나타내는 경우 예외를 허용하고 대신 HTTPResponse를 반환합니다. 기본값은 false입니다.
escapingBooleanURL의 예약 문자 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]);

매개변수

이름유형설명
requestsObject[]정의된 대로 요청을 지정하는 URL 또는 JavaScript 객체의 배열입니다. 참조하세요.

고급 매개변수

이름유형설명
urlString가져올 URL입니다. URL은 최대 2,082자(영문 기준)까지 입력할 수 있습니다.
contentTypeString콘텐츠 유형 (기본값: 'application/x-www-form-urlencoded'). 콘텐츠 유형의 또 다른 예는 'application/xml' charset=utf-8').
headersObject요청에 대한 HTTP 헤더의 JavaScript 키/값 맵
methodString요청의 HTTP 메서드(get, delete) patch, post 또는 put입니다. 기본값은 get입니다.
payloadString요청에 대한 페이로드 (즉, POST 본문) 특정 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, JavaScript 객체일 수 있습니다 JavaScript 객체는 양식 필드의 매핑으로 해석됩니다. 값으로, 값은 문자열 또는 blob일 수 있습니다.
useIntranetBoolean지원 중단되었습니다. 이렇게 하면 가져오기에 지정된 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내의 URL
validateHttpsCertificatesBooleanfalse이면 가져오기가 하나라도 무시함 잘못된 인증서가 포함되어 있습니다 기본값은 true입니다.
followRedirectsBooleanfalse인 경우 가져오기가 자동으로 실행되지 않습니다. HTTP 리디렉션을 따릅니다 원래의 HTTP 응답을 반환합니다. 기본값은 true입니다.
muteHttpExceptionsBooleantrue인 경우 가져오기에서 다음 오류가 발생하지 않습니다. 응답 코드가 실패를 나타내는 경우 예외를 허용하고 대신 HTTPResponse를 반환합니다. 기본값은 false입니다.
escapingBooleanfalse인 경우 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]);
}

매개변수

이름유형설명
urlString조회할 URL입니다. URL은 최대 2,082자(영문 기준)까지 입력할 수 있습니다.

리턴

Object - 필드 이름과 값의 매핑입니다. 맵에는 최소한 url 키가 있습니다. method, contentType, payload, headers

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

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

getRequest(url, params)

작업이 호출된 경우 발생한 요청을 반환합니다.

이 메서드는 실제로 요청을 발행하지 않습니다.

매개변수

이름유형설명
urlString조회할 URL입니다. URL은 최대 2,082자(영문 기준)까지 입력할 수 있습니다.
paramsObject아래에 정의된 대로 고급 매개변수를 지정하는 자바스크립트 객체입니다(선택사항).

고급 매개변수

이름유형설명
contentTypeString콘텐츠 유형 (기본값: 'application/x-www-form-urlencoded'). 콘텐츠 유형의 또 다른 예는 'application/xml' charset=utf-8').
headersObject요청에 대한 HTTP 헤더의 JavaScript 키/값 맵
methodString요청의 HTTP 메서드(get, delete) patch, post 또는 put입니다. 기본값은 get입니다.
payloadString요청에 대한 페이로드 (즉, POST 본문) 특정 HTTP 메서드 (예: GET)는 페이로드를 허용하지 않습니다. 문자열, 바이트 배열, JavaScript 객체일 수 있습니다 JavaScript 객체는 양식 필드의 매핑으로 해석됩니다. 값으로, 값은 문자열 또는 blob일 수 있습니다.
useIntranetBoolean지원 중단되었습니다. 이렇게 하면 가져오기에 지정된 (지원 중단됨) SDC를 통해 도메인에 연결된 인트라넷 내의 URL
validateHttpsCertificatesBooleanfalse이면 가져오기가 하나라도 무시함 잘못된 인증서가 포함되어 있습니다 기본값은 true입니다.
followRedirectsBooleanfalse인 경우 가져오기가 자동으로 실행되지 않습니다. HTTP 리디렉션을 따릅니다 원래의 HTTP 응답을 반환합니다. 기본값은 true입니다.
muteHttpExceptionsBooleantrue인 경우 가져오기가 응답 코드가 실패를 나타내는 경우 예외를 허용하고 대신 HTTPResponse를 반환합니다. 기본값은 false입니다.
escapingBooleanURL의 예약된 문자 false개가 이스케이프 처리됩니다. 기본값은 true입니다.

리턴

Object - 필드 이름과 값의 매핑입니다. 맵에는 최소한 url 키가 있습니다. method, contentType, payload, headers

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

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