Class UrlFetchApp

UrlGetApp

İnternet üzerinden kaynaklar getirmek ve diğer ana makinelerle iletişim kurmak.

Bu hizmet, komut dosyalarının URL'leri getirerek diğer uygulamalarla iletişim kurmasına veya web'deki diğer kaynaklara erişmesine olanak tanır. Komut dosyaları, HTTP ve HTTPS istekleri göndermek ve yanıt almak için URL Getirme hizmetini kullanabilir. URL Getirme hizmeti, verimlilik ve ölçeklendirme amacıyla Google'ın ağ altyapısını kullanır.

Bu hizmet kullanılarak yapılan istekler, belirli bir IP aralığı havuzundan gelir. Bu isteklere izin verilenler listesine eklemeniz veya onaylamanız gerekiyorsa IP adreslerinin tam listesini arayabilirsiniz.

Bu hizmet için https://www.googleapis.com/auth/script.external_request kapsamı gereklidir. Çoğu durumda Apps Script, komut dosyasının ihtiyaç duyduğu kapsamları otomatik olarak algılayıp dahil eder. Ancak kapsamlarınızı açıkça ayarlıyorsanız UrlFetchApp kullanmak için bu kapsamı manuel olarak eklemeniz gerekir.

Aşağıdaki kaynakları da incelemenizi öneririz:

Yöntemler

YöntemDönüş türüKısa açıklama
fetch(url)HTTPResponseURL getirme isteği gönderir.
fetch(url, params)HTTPResponseİsteğe bağlı gelişmiş parametreleri kullanarak bir URL getirme isteği gönderir.
fetchAll(requests)HTTPResponse[]İsteğe bağlı gelişmiş parametreleri kullanarak birden fazla URL almak için birden fazla istek gönderir.
getRequest(url)Objectİşlem çağrıldıysa yapılan isteği döndürür.
getRequest(url, params)Objectİşlem çağrılmış olsaydı yapılan isteği döndürür.

Ayrıntılı dokümanlar

fetch(url)

URL getirme isteği gönderir.

Bu yöntem hem HTTP hem de HTTPS üzerinden çalışır.

// The code below logs the HTML code of the Google home page.
const response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());

Parametreler

AdTürAçıklama
urlStringGetirilecek URL. URL en fazla 2.082 karakter uzunluğunda olabilir.

Return

HTTPResponse: HTTP yanıtı verileri.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

fetch(url, params)

İsteğe bağlı gelişmiş parametreleri kullanarak bir URL getirme isteği gönderir.

Bu yöntem hem HTTP hem de HTTPS üzerinden çalışır.

// 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);

Parametreler

AdTürAçıklama
urlStringGetirilecek URL. URL en fazla 2.082 karakter uzunluğunda olabilir.
paramsObjectAşağıda tanımlandığı şekilde gelişmiş parametreleri belirten isteğe bağlı JavaScript nesnesi.

Gelişmiş parametreler

AdTürAçıklama
contentTypeStringiçerik türü (varsayılan olarak "application/x-www-form-urlencoded"dir). İçerik türüne örnek olarak "application/xml; charset=utf-8" verilebilir.
headersObjectİsteğin HTTP başlıklarının JavaScript anahtar/değer eşlemesi
methodStringİsteğin HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer get'tir.
payloadStringistek için yük (yani POST gövdesi). Bazı HTTP yöntemleri (ör. GET), yük kabul etmez. Dize, bayt dizisi, blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alan adlarının değerleriyle eşleştirildiği bir harita olarak yorumlanır. Değerler dize veya blob olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu, get'e, belirtilen URL'yi (desteği sonlandırılmış) SDC aracılığıyla alanınıza bağlı intranet içinde çözmesini söyler.
validateHttpsCertificatesBooleanfalse ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer true'tir.
followRedirectsBooleanfalse ise getirme işlemi HTTP yönlendirmelerini otomatik olarak takip etmez ve orijinal HTTP yanıtını döndürür. Varsayılan değer true'tir.
muteHttpExceptionsBooleantrue ise yanıt kodu hatayı gösteriyorsa getirme işlemi istisna atmaz ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer false'tir.
escapingBooleanURL'deki false ayrılmış karakterler kod dışına alınmamışsa Varsayılan değer true'tir.

Return

HTTPResponse: HTTP yanıtı verileri.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

fetchAll(requests)

İsteğe bağlı gelişmiş parametreleri kullanarak birden fazla URL almak için birden fazla istek gönderir.

Bu yöntem hem HTTP hem de HTTPS üzerinden çalışır.

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

Parametreler

AdTürAçıklama
requestsObject[]Aşağıda tanımlandığı şekilde istekleri belirten URL'ler veya JavaScript nesneleri dizisi.

Gelişmiş parametreler

AdTürAçıklama
urlStringgetirilecek URL. URL en fazla 2.082 karakter uzunluğunda olabilir.
contentTypeStringiçerik türü (varsayılan olarak "application/x-www-form-urlencoded"dir). İçerik türüne örnek olarak "application/xml; charset=utf-8" verilebilir.
headersObjectİsteğin HTTP başlıklarının JavaScript anahtar/değer eşlemesi
methodStringİsteğin HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer get'tir.
payloadStringistek için yük (yani POST gövdesi). Bazı HTTP yöntemleri (ör. GET), yük kabul etmez. Dize, bayt dizisi, blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alan adlarının değerleriyle eşleştirildiği bir harita olarak yorumlanır. Değerler dize veya blob olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu, get'e, belirtilen URL'yi (desteği sonlandırılmış) SDC aracılığıyla alanınıza bağlı intranet içinde çözmesini söyler.
validateHttpsCertificatesBooleanfalse ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer true'tir.
followRedirectsBooleanfalse ise getirme işlemi HTTP yönlendirmelerini otomatik olarak takip etmez ve orijinal HTTP yanıtını döndürür. Varsayılan değer true'tir.
muteHttpExceptionsBooleantrue ise yanıt kodu hatayı gösteriyorsa getirme işlemi istisna atmaz ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer false'tir.
escapingBooleanfalse ise URL'deki ayrılmış karakterler kod dışına alınmaz. Varsayılan değer true'tir.

Return

HTTPResponse[]: Her giriş isteğinde bulunan HTTP yanıtı verilerinin dizisi.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

getRequest(url)

İşlem çağrıldıysa yapılan isteği döndürür.

Bu yöntem aslında isteği göndermez.

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

Parametreler

AdTürAçıklama
urlStringAratılacak URL. URL en fazla 2.082 karakter uzunluğunda olabilir.

Return

Object: Alan adı ile değer arasındaki eşleme. Harita en az şu anahtarlara sahiptir: url, method, contentType, payload ve headers.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

getRequest(url, params)

İşlem çağrılmış olsaydı yapılan isteği döndürür.

Bu yöntem aslında isteği göndermez.

Parametreler

AdTürAçıklama
urlStringAratılacak URL. URL en fazla 2.082 karakter uzunluğunda olabilir.
paramsObjectAşağıda tanımlandığı şekilde gelişmiş parametreleri belirten isteğe bağlı bir JavaScript nesnesi.

Gelişmiş parametreler

AdTürAçıklama
contentTypeStringiçerik türü (varsayılan olarak "application/x-www-form-urlencoded"dir). İçerik türüne örnek olarak "application/xml; charset=utf-8" verilebilir.
headersObjectİsteğin HTTP başlıklarının JavaScript anahtar/değer eşlemesi
methodStringİsteğin HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer get'tir.
payloadStringistek için yük (yani POST gövdesi). Bazı HTTP yöntemleri (ör. GET), yük kabul etmez. Dize, bayt dizisi, blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alan adlarının değerleriyle eşleştirildiği bir harita olarak yorumlanır. Değerler dize veya blob olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu, get'e, belirtilen URL'yi (desteği sonlandırılmış) SDC aracılığıyla alanınıza bağlı intranet içinde çözmesini söyler.
validateHttpsCertificatesBooleanfalse ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer true'tir.
followRedirectsBooleanfalse ise getirme işlemi HTTP yönlendirmelerini otomatik olarak takip etmez ve orijinal HTTP yanıtını döndürür. Varsayılan değer true'tir.
muteHttpExceptionsBooleantrue ise yanıt kodu hatayı gösteriyorsa getirme işlemi istisna atmaz ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer false'tir.
escapingBooleanURL'deki false ayrılmış karakterler kod dışına alınmamışsa Varsayılan değer true'tir.

Return

Object: Alan adı ile değer arasındaki eşleme. Harita en az şu anahtarlara sahiptir: url, method, contentType, payload ve headers.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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