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öntem | Dönüş türü | Kısa açıklama |
---|---|---|
fetch(url) | HTTPResponse | URL 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
Ad | Tür | Açıklama |
---|---|---|
url | String | Getirilecek 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
Ad | Tür | Açıklama |
---|---|---|
url | String | Getirilecek URL. URL en fazla 2.082 karakter uzunluğunda olabilir. |
params | Object | Aşağıda tanımlandığı şekilde, gelişmiş parametreleri belirten isteğe bağlı JavaScript nesnesi. |
Gelişmiş parametreler
Ad | Tür | Açıklama |
---|---|---|
contentType | String | iç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. |
headers | Object | isteğin HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi |
method | String | isteğin HTTP yöntemi: get , delete ,
patch , post veya put . Varsayılan değer: get . |
payload | String | İ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. |
useIntranet | Boolean | Kullanı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 |
validateHttpsCertificates | Boolean | false ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer: true . |
followRedirects | Boolean | false ise getirme işlemi HTTP yönlendirmelerini otomatik olarak izlemez; orijinal HTTP yanıtını döndürür. Varsayılan değer: true . |
muteHttpExceptions | Boolean | true 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 . |
escaping | Boolean | URL'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
Ad | Tür | Açıklama |
---|---|---|
requests | Object[] | Aşağıda tanımlandığı gibi istekleri belirten URL'lerden veya JavaScript nesnelerinden oluşan bir dizi. |
Gelişmiş parametreler
Ad | Tür | Açıklama |
---|---|---|
url | String | URL'yi girin. URL en fazla 2.082 karakter uzunluğunda olabilir. |
contentType | String | iç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. |
headers | Object | isteğin HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi |
method | String | isteğin HTTP yöntemi: get , delete ,
patch , post veya put . Varsayılan değer: get . |
payload | String | İ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. |
useIntranet | Boolean | Kullanı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 |
validateHttpsCertificates | Boolean | false ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer: true . |
followRedirects | Boolean | false ise getirme işlemi HTTP yönlendirmelerini otomatik olarak izlemez; orijinal HTTP yanıtını döndürür. Varsayılan değer: true . |
muteHttpExceptions | Boolean | true 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 . |
escaping | Boolean | false 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
Ad | Tür | Açıklama |
---|---|---|
url | String | Aranacak 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
Ad | Tür | Açıklama |
---|---|---|
url | String | Aranacak URL. URL en fazla 2.082 karakter uzunluğunda olabilir. |
params | Object | Aşağıda tanımlandığı gibi, gelişmiş parametreleri belirten isteğe bağlı bir JavaScript nesnesi. |
Gelişmiş parametreler
Ad | Tür | Açıklama |
---|---|---|
contentType | String | iç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. |
headers | Object | isteğin HTTP üstbilgilerinin JavaScript anahtar/değer eşlemesi |
method | String | isteğin HTTP yöntemi: get , delete ,
patch , post veya put . Varsayılan değer: get . |
payload | String | İ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. |
useIntranet | Boolean | Kullanı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 |
validateHttpsCertificates | Boolean | false ise getirme işlemi, HTTPS istekleri için geçersiz sertifikaları yoksayar. Varsayılan değer: true . |
followRedirects | Boolean | false ise getirme işlemi HTTP yönlendirmelerini otomatik olarak izlemez; orijinal HTTP yanıtını döndürür. Varsayılan değer: true . |
muteHttpExceptions | Boolean | true 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 . |
escaping | Boolean | URL'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