Busque recursos e se comunique 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 originam-se de um pool definido de intervalos de IPs. Você pode procurar a lista completa de endereços IP se precisar colocar essas solicitações na lista de permissões ou aprovar.
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. No entanto, se você estiver configurando os escopos explicitamente, será necessário adicionar esse escopo manualmente para usar o UrlFetchApp
.
Veja também
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
fetch(url) | HTTPResponse | Faz uma solicitação para buscar um URL. |
fetch(url, params) | HTTPResponse | Faz 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) | Object | Retorna a solicitação que será feita se a operação for invocada. |
getRequest(url, params) | Object | Retorna a solicitação que será feita se a operação for invocada. |
Documentação detalhada
fetch(url)
Faz uma solicitação para buscar um URL.
Isso funciona em HTTP e 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());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
url | String | O URL a ser buscado. O URL pode ter até 2.082 caracteres. |
Retornar
HTTPResponse
: os dados da 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 em HTTP e 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);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
url | String | O URL a ser buscado. O URL pode ter até 2.082 caracteres. |
params | Object | O objeto JavaScript opcional que especifica os parâmetros avançados conforme definido abaixo. |
Parâmetros avançados
Nome | Tipo | Descrição |
---|---|---|
contentType | String | O tipo de conteúdo (o padrão é &&33;application/x-www-form-urlencoded'). Outro exemplo de tipo de conteúdo é 'application/xml; charset=utf-8'. |
headers | Object | um mapa de chave-valor JavaScript de cabeçalhos HTTP para a solicitação |
method | String | O método HTTP para a solicitação: get , delete , patch , post ou put . O padrão é get . |
payload | String | o payload (ou seja, o corpo POST) da solicitação. Certos métodos HTTP (por exemplo, GET) não aceitam um payload. Pode ser uma string, uma matriz de bytes, um blob ou um objeto JavaScript. Um objeto JavaScript é interpretado como um mapa de nomes de campo de formulário para valores, em que os valores podem ser strings ou blobs. |
useIntranet | Boolean | Obsoleto. Isso instrui a busca a resolver o URL especificado na intranet vinculada ao seu domínio por meio de uma SDC (descontinuada). |
validateHttpsCertificates | Boolean | Se false , a busca ignora todos os
certificados inválidos para solicitações HTTPS. O padrão é true . |
followRedirects | Boolean | Se false , a busca não seguirá automaticamente
os redirecionamentos HTTP. Ela retornará a resposta HTTP original. O padrão é true . |
muteHttpExceptions | Boolean | Se true , a busca não gera uma exceção quando o código de resposta indica falha e, em vez disso, retorna HTTPResponse . O padrão é false . |
escaping | Boolean | Se false , os caracteres reservados no URL não tiverem escape. O padrão é true . |
Retornar
HTTPResponse
: os dados da 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 em HTTP e 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]);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
requests | Object[] | Uma matriz de URLs ou objetos JavaScript que especifica solicitações, conforme definido abaixo. |
Parâmetros avançados
Nome | Tipo | Descrição |
---|---|---|
url | String | o URL a ser buscado. O URL pode ter até 2.082 caracteres. |
contentType | String | O tipo de conteúdo (o padrão é &&33;application/x-www-form-urlencoded'). Outro exemplo de tipo de conteúdo é 'application/xml; charset=utf-8'. |
headers | Object | um mapa de chave-valor JavaScript de cabeçalhos HTTP para a solicitação |
method | String | O método HTTP para a solicitação: get , delete , patch , post ou put . O padrão é get . |
payload | String | o payload (ou seja, o corpo POST) da solicitação. Certos métodos HTTP (por exemplo, GET) não aceitam um payload. Pode ser uma string, uma matriz de bytes, um blob ou um objeto JavaScript. Um objeto JavaScript é interpretado como um mapa de nomes de campo de formulário para valores, em que os valores podem ser strings ou blobs. |
useIntranet | Boolean | Obsoleto. Isso instrui a busca a resolver o URL especificado na intranet vinculada ao seu domínio por meio de uma SDC (descontinuada). |
validateHttpsCertificates | Boolean | Se false , a busca ignora todos os
certificados inválidos para solicitações HTTPS. O padrão é true . |
followRedirects | Boolean | Se false , a busca não seguirá automaticamente
os redirecionamentos HTTP. Ela retornará a resposta HTTP original. O padrão é true . |
muteHttpExceptions | Boolean | Se true , a busca não gera uma exceção se o código de resposta indicar falha e retorna a HTTPResponse . O padrão é false . |
escaping | Boolean | Se false , os caracteres reservados no URL não terão escape. O padrão é true . |
Retornar
HTTPResponse[]
: uma matriz de dados de resposta HTTP para 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 que será feita se a operação for invocada.
Na verdade, esse método não emite a solicitação.
// 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]); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
url | String | O 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 será feita se a operação for invocada.
Na verdade, esse método não emite a solicitação.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
url | String | O URL a ser pesquisado. O URL pode ter até 2.082 caracteres. |
params | Object | Um objeto JavaScript opcional que especifica parâmetros avançados, conforme definido abaixo. |
Parâmetros avançados
Nome | Tipo | Descrição |
---|---|---|
contentType | String | O tipo de conteúdo (o padrão é &&33;application/x-www-form-urlencoded'). Outro exemplo de tipo de conteúdo é 'application/xml; charset=utf-8'. |
headers | Object | um mapa de chave-valor JavaScript de cabeçalhos HTTP para a solicitação |
method | String | O método HTTP para a solicitação: get , delete , patch , post ou put . O padrão é get . |
payload | String | o payload (ou seja, o corpo POST) da solicitação. Certos métodos HTTP (por exemplo, GET) não aceitam um payload. Pode ser uma string, uma matriz de bytes, um blob ou um objeto JavaScript. Um objeto JavaScript é interpretado como um mapa de nomes de campo de formulário para valores, em que os valores podem ser strings ou blobs. |
useIntranet | Boolean | Obsoleto. Isso instrui a busca a resolver o URL especificado na intranet vinculada ao seu domínio por meio de uma SDC (descontinuada). |
validateHttpsCertificates | Boolean | Se false , a busca ignora todos os
certificados inválidos para solicitações HTTPS. O padrão é true . |
followRedirects | Boolean | Se false , a busca não seguirá automaticamente
os redirecionamentos HTTP. Ela retornará a resposta HTTP original. O padrão é true . |
muteHttpExceptions | Boolean | Se true , a busca não gera uma exceção quando o código de resposta indica falha e, em vez disso, retorna HTTPResponse . O padrão é false . |
escaping | Boolean | Se false , os caracteres reservados 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