Class UrlFetchApp

UrlFetchApp

Kaynakları getirin ve internet üzerinden diğer ana makinelerle iletişim kurun.

Bu hizmet, komut dosyalarının URL'leri alarak 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ıtlar 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, IP aralıklarından oluşan belirlenmiş bir havuzdan gelir. Bu istekleri izin verilenler listesine eklemeniz veya onaylamanız gerekiyorsa IP adreslerinin tam listesine bakabilirsiniz.

Bu hizmet için https://www.googleapis.com/auth/script.external_request kapsamı gerekir. Çoğu durumda Apps Komut Dosyası, bir komut dosyasının ihtiyaç duyduğu kapsamları otomatik olarak algılar ve dahil eder. Ancak kapsamlarınızı açık bir şekilde 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ğinde bulunur.
fetch(url, params)HTTPResponseİsteğe bağlı gelişmiş parametreleri kullanarak URL getirme isteğinde bulunur.
fetchAll(requests)HTTPResponse[]İsteğe bağlı gelişmiş parametreleri kullanarak birden çok URL'yi getirmek için birden çok istekte bulunur.
getRequest(url)Objectİşlem çağrıldıysa yapılan isteği döndürür.
getRequest(url, params)Objectİşlem çağrıldıysa yapılan isteği döndürür.

Ayrıntılı belgeler

fetch(url)

URL getirme isteğinde bulunur.

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

// The code below logs the HTML code of the Google home page.
var 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ı, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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

fetch(url, params)

İsteğe bağlı gelişmiş parametreleri kullanarak URL getirme isteğinde bulunur.

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

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

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-urlcoding" değerine ayarlanır). Diğer içerik türü örneği "application/xml; charset=utf-8"dir.
headersObjectisteğin HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi
methodStringisteğin HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer: get.
payloadStringİstek için yük (yani POST gövdesi). Bazı HTTP yöntemleri (örneğin, GET) yük kabul etmez. Bu bir dize, bayt dizisi, blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alanı adlarıyla değerlerin eşlenmesi olarak yorumlanır. Burada değerler, dize veya blob olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu, belirtilen URL'nin alanınıza bağlı intranette (kullanımdan kaldırıldı) SDC üzerinden çözümlenmesi için getirme talimatı verir
validateHttpsCertificatesBooleanfalse ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer: true.
followRedirectsBooleanfalse ise getirme işlemi HTTP yönlendirmelerini otomatik olarak izlemez; orijinal HTTP yanıtını döndürür. Varsayılan değer: true.
muteHttpExceptionsBooleantrue ise yanıt kodu hata olduğunu gösteriyorsa getirme bir istisna göndermez ve HTTPResponse değerini döndürür. Varsayılan değer: false.
escapingBooleanURL'deki false ayrılmış karaktere çıkış yapılmaz. Varsayılan değer: true.

Return

HTTPResponse: HTTP yanıt verileri.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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

fetchAll(requests)

İsteğe bağlı gelişmiş parametreleri kullanarak birden çok URL'yi getirmek için birden çok istekte bulunur.

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

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

Parametreler

AdTürAçıklama
requestsObject[]Aşağıda tanımlandığı gibi istekleri belirten URL'lerden veya JavaScript nesnelerinden oluşan bir dizi.

Gelişmiş parametreler

AdTürAçıklama
urlStringURL'yi girin. URL en fazla 2.082 karakter uzunluğunda olabilir.
contentTypeStringiçerik türü (varsayılan olarak "application/x-www-form-urlcoding" değerine ayarlanır). Diğer içerik türü örneği "application/xml; charset=utf-8"dir.
headersObjectisteğin HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi
methodStringisteğin HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer: get.
payloadStringİstek için yük (yani POST gövdesi). Bazı HTTP yöntemleri (örneğin, GET) yük kabul etmez. Bu bir dize, bayt dizisi, blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alanı adlarıyla değerlerin eşlenmesi olarak yorumlanır. Burada değerler, dize veya blob olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu, belirtilen URL'nin alanınıza bağlı intranette (kullanımdan kaldırıldı) SDC üzerinden çözümlenmesi için getirme talimatı verir
validateHttpsCertificatesBooleanfalse ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer: true.
followRedirectsBooleanfalse ise getirme işlemi HTTP yönlendirmelerini otomatik olarak izlemez; orijinal HTTP yanıtını döndürür. Varsayılan değer: true.
muteHttpExceptionsBooleantrue ise ve yanıt kodu hata olduğunu gösteriyorsa getirme bir istisna yapmaz ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer: false.
escapingBooleanfalse ise URL'deki ayrılmış karakterlere çıkış yapılmaz. Varsayılan değer: true.

Return

HTTPResponse[]: Her giriş isteğinden alınan HTTP yanıt verileri dizisi.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

  • 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, isteği gerçekten göndermez.

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

Parametreler

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

Return

Object: Alan Adı ile Değer eşlemesi. Haritada en azından şu anahtarlar var: url, method, contentType, payload ve headers.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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

getRequest(url, params)

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

Bu yöntem, isteği gerçekten göndermez.

Parametreler

AdTürAçıklama
urlStringAranacak URL. URL en fazla 2.082 karakter uzunluğunda olabilir.
paramsObjectAşağıda tanımlandığı gibi, 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-urlcoding" değerine ayarlanır). Diğer içerik türü örneği "application/xml; charset=utf-8"dir.
headersObjectisteğin HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi
methodStringisteğin HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer: get.
payloadStringİstek için yük (yani POST gövdesi). Bazı HTTP yöntemleri (örneğin, GET) yük kabul etmez. Bu bir dize, bayt dizisi, blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alanı adlarıyla değerlerin eşlenmesi olarak yorumlanır. Burada değerler, dize veya blob olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu, belirtilen URL'nin alanınıza bağlı intranette (kullanımdan kaldırıldı) SDC üzerinden çözümlenmesi için getirme talimatı verir
validateHttpsCertificatesBooleanfalse ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer: true.
followRedirectsBooleanfalse ise getirme işlemi HTTP yönlendirmelerini otomatik olarak izlemez; orijinal HTTP yanıtını döndürür. Varsayılan değer: true.
muteHttpExceptionsBooleantrue ise yanıt kodu hata olduğunu gösteriyorsa getirme bir istisna göndermez ve HTTPResponse değerini döndürür. Varsayılan değer: false.
escapingBooleanURL'deki false ayrılmış karaktere çıkış yapılmaz. Varsayılan değer: true.

Return

Object: Alan Adı ile Değer eşlemesi. Haritada en azından şu anahtarlar var: url, method, contentType, payload ve headers.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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