Class UrlFetchApp

UrlFetchApp

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

Bu hizmet, komut dosyalarının diğer uygulamalarla iletişim kurmasına veya diğer kaynaklara erişmesine olanak tanır web'de sakıncası yoktur. Bir komut dosyası, HTTP ve HTTPS yayınlamak için URL Alma hizmetini kullanabilir yanıt almanız gerekir. URL getirme hizmeti, Google'ın ağ altyapısını kullanır ve yaygın proje yönetimi metodolojilerinden bahsedeceğiz.

Bu hizmet kullanılarak yapılan istekler, IP aralıklarından oluşan bir havuzdan gelir. Aşağıdaki durumlarda IP adreslerinin tam listesini bulabilirsiniz: bu istekleri izin verilenler listesine eklemeniz veya onaylamanız gerekir.

Bu hizmet için https://www.googleapis.com/auth/script.external_request gereklidir kapsam. Çoğu durumda Apps Komut Dosyası, komut dosyası için gereken kapsamları otomatik olarak tespit edip dahil eder. ancak kapsamlarınızı ayarlıyorsanız açıkça bu kapsamı UrlFetchApp kullanmak için manuel olarak eklemeniz gerekir.

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

Yöntemler

YöntemDönüş türüKısa açıklama
fetch(url)HTTPResponseBir URL getirmek için istekte bulunur.
fetch(url, params)HTTPResponseİsteğe bağlı gelişmiş parametreler kullanarak bir URL getirme isteğinde bulunur.
fetchAll(requests)HTTPResponse[]İsteğe bağlı gelişmiş parametreler kullanarak birden çok URL'yi getirmek için birden çok istek yapar.
getRequest(url)Objectİşlem çağrıldığında yapılan isteği döndürür.
getRequest(url, params)Objectİşlem çağrıldığında yapılan isteği döndürür.

Ayrıntılı belgeler

fetch(url)

Bir URL getirmek için istekte bulunur.

Bu işlem HTTP ve 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'nin uzunluğu en fazla 2.082 karakter olabilir.

Return

HTTPResponse — HTTP yanıtı verileri.

Yetkilendirme

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

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

fetch(url, params)

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

Bu işlem HTTP ve 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'nin uzunluğu en fazla 2.082 karakter olabilir.
paramsObjectAşağıda tanımlanan gelişmiş parametreleri belirten isteğe bağlı JavaScript nesnesi.

Gelişmiş parametreler

AdTürAçıklama
contentTypeStringiçerik türü (varsayılan 'application/x-www-form-urlencoded'). İçerik türüne başka bir örnek de "application/xml; charset=utf-8' şeklinde görünür.
headersObjectistek için HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi
methodStringistek için HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer: get.
payloadStringistek yüküne (yani POST gövdesine) ait veriler. Belirli HTTP yöntemleri (örneğin, GET) yük kabul etmez. Bu bir dize veya bayt dizisi olabilir. bir blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alanının haritası olarak yorumlanır değerleri dizeler veya bloblar olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu komut, getirme işlemine belirtilen (desteği sonlandırılmış) SDC üzerinden alanınıza bağlı olan, intranet içinde yer alan URL
validateHttpsCertificatesBooleanfalse değeri, getirme işlemi şunlardan birini yoksayar: HTTPS istekleri için geçersiz sertifikalar. Varsayılan değer: true.
followRedirectsBooleanfalse ise getirme işlemi otomatik olarak yapılmazsa HTTP yönlendirmelerini izle; orijinal HTTP yanıtını döndürür. Varsayılan değer: true.
muteHttpExceptionsBooleantrue, getirme işlemi bir istisna oluşturur ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer: false.
escapingBooleanURL'de ayrılmış false karakter yoksa kaçtı. Varsayılan değer: true.

Return

HTTPResponse — HTTP yanıtı verileri.

Yetkilendirme

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

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

fetchAll(requests)

İsteğe bağlı gelişmiş parametreler kullanarak birden çok URL'yi getirmek için birden çok istek yapar.

Bu işlem HTTP'nin yanı sıra HTTPS üzerinden de ç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[]Tanımlandığı şekilde istekleri belirten URL'lerden veya JavaScript nesnelerinden oluşan bir dizi bölümüne göz atın.

Gelişmiş parametreler

AdTürAçıklama
urlStringURL'yi girin. URL'nin uzunluğu en fazla 2.082 karakter olabilir.
contentTypeStringiçerik türü (varsayılan 'application/x-www-form-urlencoded'). İçerik türüne başka bir örnek de "application/xml; charset=utf-8' şeklinde görünür.
headersObjectistek için HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi
methodStringistek için HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer: get.
payloadStringistek yüküne (yani POST gövdesine) ait veriler. Belirli HTTP yöntemleri (örneğin, GET) yük kabul etmez. Bu bir dize veya bayt dizisi olabilir. bir blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alanının haritası olarak yorumlanır değerleri dizeler veya bloblar olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu komut, getirme işlemine belirtilen (desteği sonlandırılmış) SDC üzerinden alanınıza bağlı olan, intranet içinde yer alan URL
validateHttpsCertificatesBooleanfalse değeri, getirme işlemi şunlardan birini yoksayar: HTTPS istekleri için geçersiz sertifikalar. Varsayılan değer: true.
followRedirectsBooleanfalse ise getirme işlemi otomatik olarak yapılmazsa HTTP yönlendirmelerini izle; orijinal HTTP yanıtını döndürür. Varsayılan değer: true.
muteHttpExceptionsBooleantrue ise getirme işlemi istisna oluşturur ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer: false.
escapingBooleanfalse ise URL'de ayrılmış karakterlere izin verilmez kaçtı. 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 kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getRequest(url)

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

Bu yöntem, isteği gerçekte 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'nin uzunluğu en fazla 2.082 karakter olabilir.

Return

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

Yetkilendirme

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

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

getRequest(url, params)

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

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

Parametreler

AdTürAçıklama
urlStringAranacak URL. URL'nin uzunluğu en fazla 2.082 karakter olabilir.
paramsObjectAşağıda tanımlanan gelişmiş parametreleri belirten isteğe bağlı bir JavaScript nesnesi.

Gelişmiş parametreler

AdTürAçıklama
contentTypeStringiçerik türü (varsayılan 'application/x-www-form-urlencoded'). İçerik türüne başka bir örnek de "application/xml; charset=utf-8' şeklinde görünür.
headersObjectistek için HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi
methodStringistek için HTTP yöntemi: get, delete, patch, post veya put. Varsayılan değer: get.
payloadStringistek yüküne (yani POST gövdesine) ait veriler. Belirli HTTP yöntemleri (örneğin, GET) yük kabul etmez. Bu bir dize veya bayt dizisi olabilir. bir blob veya JavaScript nesnesi olabilir. JavaScript nesnesi, form alanının haritası olarak yorumlanır değerleri dizeler veya bloblar olabilir.
useIntranetBooleanKullanımdan kaldırıldı. Bu komut, getirme işlemine belirtilen (desteği sonlandırılmış) SDC üzerinden alanınıza bağlı olan, intranet içinde yer alan URL
validateHttpsCertificatesBooleanfalse değeri, getirme işlemi şunlardan birini yoksayar: HTTPS istekleri için geçersiz sertifikalar. Varsayılan değer: true.
followRedirectsBooleanfalse ise getirme işlemi otomatik olarak yapılmazsa HTTP yönlendirmelerini izle; orijinal HTTP yanıtını döndürür. Varsayılan değer: true.
muteHttpExceptionsBooleantrue, getirme işlemi bir istisna oluşturur ve bunun yerine HTTPResponse değerini döndürür. Varsayılan değer: false.
escapingBooleanURL'de ayrılmış false karakter yoksa kaçtı. Varsayılan değer: true.

Return

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

Yetkilendirme

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

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