Class UrlFetchApp

UrlFetchApp

Buscar recursos e se comunicar com outros hosts pela Internet.

Esse serviço permite que os scripts se comuniquem com outros aplicativos ou acessem outros recursos na Web buscando URLs. Um script pode usar o serviço de busca de URL para emitir solicitações HTTP e HTTPS e receber respostas. O serviço de busca de URL usa a infraestrutura de rede do Google para fins de eficiência e escalonamento.

As solicitações feitas usando esse serviço são originadas de um pool fixo de intervalos de IP. Você pode consultar a lista completa de endereços IP se precisar adicionar esses pedidos à lista de permissões ou aprová-los.

Esse serviço requer o escopo https://www.googleapis.com/auth/script.external_request. Na maioria dos casos, o Apps Script detecta e inclui automaticamente os escopos necessários para um script. No entanto, se você estiver definindo os escopos de forma explícita, adicione manualmente esse escopo para usar UrlFetchApp.

Consulte também

Métodos

MétodoTipo de retornoBreve descrição
fetch(url)HTTPResponseFaz uma solicitação para buscar um URL.
fetch(url, params)HTTPResponseFaz uma solicitação para buscar um URL usando parâmetros avançados opcionais.
fetchAll(requests)HTTPResponse[]Faz várias solicitações para buscar vários URLs usando parâmetros avançados opcionais.
getRequest(url)ObjectRetorna a solicitação feita se a operação foi invocada.
getRequest(url, params)ObjectRetorna a solicitação que seria feita se a operação fosse invocada.

Documentação detalhada

fetch(url)

Faz uma solicitação para buscar um URL.

Isso funciona com HTTP e 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());

Parâmetros

NomeTipoDescrição
urlStringO URL a ser buscado. O URL pode ter até 2.082 caracteres.

Retornar

HTTPResponse: os dados de resposta HTTP.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

fetch(url, params)

Faz uma solicitação para buscar um URL usando parâmetros avançados opcionais.

Isso funciona com HTTP e 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);

Parâmetros

NomeTipoDescrição
urlStringO URL a ser buscado. O URL pode ter até 2.082 caracteres.
paramsObjectO objeto JavaScript opcional que especifica parâmetros avançados, conforme definido abaixo.

Parâmetros avançados

NomeTipoDescrição
contentTypeStringo tipo de conteúdo (o padrão é 'application/x-www-form-urlencoded'). Outro exemplo de tipo de conteúdo é "application/xml; charset=utf-8".
headersObjectum mapa JavaScript de chave/valor dos cabeçalhos HTTP da solicitação
methodStringo método HTTP da solicitação: get, delete, patch, post ou put. O padrão é get.
payloadStringo payload (ou seja, o corpo POST) da solicitação. Alguns métodos HTTP (por exemplo, GET) não aceitam uma carga útil. Ele pode ser uma string, uma matriz de bytes, um blob ou um objeto JavaScript. Um objeto JavaScript é interpretado como um mapa de nomes de campos de formulário para valores, em que os valores podem ser strings ou blobs.
useIntranetBooleanObsoleto. Isso instrui a busca a resolver o URL especificado na intranet vinculada ao seu domínio pelo SDC (descontinuado).
validateHttpsCertificatesBooleanSe false, a busca vai ignorar todos os certificados inválidos para solicitações HTTPS. O padrão é true.
followRedirectsBooleanSe false, a busca não segue automaticamente redirecionamentos HTTP e retorna a resposta HTTP original. O padrão é true.
muteHttpExceptionsBooleanSe true, a busca não vai gerar uma exceção se o código de resposta indicar falha. Em vez disso, ela vai retornar o HTTPResponse. O padrão é false.
escapingBooleanSe os caracteres reservados false no URL não tiverem escape. O padrão é true.

Retornar

HTTPResponse: os dados de resposta HTTP.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

fetchAll(requests)

Faz várias solicitações para buscar vários URLs usando parâmetros avançados opcionais.

Isso funciona com HTTP e 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]);

Parâmetros

NomeTipoDescrição
requestsObject[]Uma matriz de URLs ou objetos JavaScript que especificam solicitações conforme definido abaixo.

Parâmetros avançados

NomeTipoDescrição
urlStringo URL a ser buscado. O URL pode ter até 2.082 caracteres.
contentTypeStringo tipo de conteúdo (o padrão é 'application/x-www-form-urlencoded'). Outro exemplo de tipo de conteúdo é "application/xml; charset=utf-8".
headersObjectum mapa JavaScript de chave/valor dos cabeçalhos HTTP da solicitação
methodStringo método HTTP da solicitação: get, delete, patch, post ou put. O padrão é get.
payloadStringo payload (ou seja, o corpo POST) da solicitação. Alguns métodos HTTP (por exemplo, GET) não aceitam uma carga útil. Ele pode ser uma string, uma matriz de bytes, um blob ou um objeto JavaScript. Um objeto JavaScript é interpretado como um mapa de nomes de campos de formulário para valores, em que os valores podem ser strings ou blobs.
useIntranetBooleanObsoleto. Isso instrui a busca a resolver o URL especificado na intranet vinculada ao seu domínio pelo SDC (descontinuado).
validateHttpsCertificatesBooleanSe false, a busca vai ignorar todos os certificados inválidos para solicitações HTTPS. O padrão é true.
followRedirectsBooleanSe false, a busca não segue automaticamente redirecionamentos HTTP e retorna a resposta HTTP original. O padrão é true.
muteHttpExceptionsBooleanSe true, a busca não vai gerar uma exceção se o código de resposta indicar falha. Em vez disso, ela vai retornar o HTTPResponse. O padrão é false.
escapingBooleanSe false, os caracteres reservados no URL não serão escapados. O padrão é true.

Retornar

HTTPResponse[]: uma matriz de dados de resposta HTTP de cada solicitação de entrada.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getRequest(url)

Retorna a solicitação feita se a operação foi invocada.

Esse método não emite a solicitação.

// 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]}`);
}

Parâmetros

NomeTipoDescrição
urlStringO URL a ser pesquisado. O URL pode ter até 2.082 caracteres.

Retornar

Object: um mapa de nome do campo para valor. O mapa tem pelo menos as seguintes chaves: url, method, contentType, payload e headers.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getRequest(url, params)

Retorna a solicitação que seria feita se a operação fosse invocada.

Esse método não emite a solicitação.

Parâmetros

NomeTipoDescrição
urlStringO URL a ser pesquisado. O URL pode ter até 2.082 caracteres.
paramsObjectUm objeto JavaScript opcional que especifica parâmetros avançados, conforme definido abaixo.

Parâmetros avançados

NomeTipoDescrição
contentTypeStringo tipo de conteúdo (o padrão é 'application/x-www-form-urlencoded'). Outro exemplo de tipo de conteúdo é "application/xml; charset=utf-8".
headersObjectum mapa JavaScript de chave/valor dos cabeçalhos HTTP da solicitação
methodStringo método HTTP da solicitação: get, delete, patch, post ou put. O padrão é get.
payloadStringo payload (ou seja, o corpo POST) da solicitação. Alguns métodos HTTP (por exemplo, GET) não aceitam uma carga útil. Ele pode ser uma string, uma matriz de bytes, um blob ou um objeto JavaScript. Um objeto JavaScript é interpretado como um mapa de nomes de campos de formulário para valores, em que os valores podem ser strings ou blobs.
useIntranetBooleanObsoleto. Isso instrui a busca a resolver o URL especificado na intranet vinculada ao seu domínio pelo SDC (descontinuado).
validateHttpsCertificatesBooleanSe false, a busca vai ignorar todos os certificados inválidos para solicitações HTTPS. O padrão é true.
followRedirectsBooleanSe false, a busca não segue automaticamente redirecionamentos HTTP e retorna a resposta HTTP original. O padrão é true.
muteHttpExceptionsBooleanSe true, a busca não vai gerar uma exceção se o código de resposta indicar falha. Em vez disso, ela vai retornar o HTTPResponse. O padrão é false.
escapingBooleanSe os caracteres reservados false no URL não tiverem escape. O padrão é true.

Retornar

Object: um mapa de nome do campo para valor. O mapa tem pelo menos as seguintes chaves: url, method, contentType, payload e headers.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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