İçerik Hizmeti

çeşitli MIME türlerinde ham metin içeriği döndürür.

Bir komut dosyası web uygulaması olarak yayınlandığında, komut dosyasının URL'sine istek gönderildiğinde geri çağırma işlevleri doGet ve doPost yürütülür. HTML hizmeti ile oluşturulan bir kullanıcı arayüzü nesnesi döndürmek yerine, Content hizmeti ham metin içeriği döndürebilir. GET ve POST isteklerine yanıt veren ve çeşitli MIME türlerindeki verileri sunan hizmetler gibi davranan komut dosyaları yazın.

Temel bilgiler

Aşağıdaki örnekte, İçerik hizmetinin nasıl kullanılacağı gösterilmektedir:

function doGet() {
  return ContentService.createTextOutput('Hello, world!');
}

Komut dosyasını web uygulaması olarak dağıtın. Kullanıcı arayüzü sunmayla aynı adımları uygulayın. Komut dosyasının URL'sine GET isteği gönderildiğinde Hello, world! metni döndürülür. Hizmet, düz metne ek olarak ATOM, CSV, iCal, JavaScript, JSON, RSS, vCard ve XML içeriklerinin döndürülmesini destekler.

RSS özet akışları yayınlama

İçeriğini değiştirmek için bir RSS özet akışını filtreleyin. Örneğin, daha iyi bir mobil görüntüleme için doğrudan feed'e alternatif metin eklemek üzere bir XKCD feed'ini düzenleyin.

function doGet() {
  var feed = UrlFetchApp.fetch('http://xkcd.com/rss.xml').getContentText();
  feed = feed.replace(
    /(<img.*?alt="(.*?)".*?>)/g,
    '$1' + new Array(10).join('<br />') + '$2');
  return ContentService.createTextOutput(feed)
    .setMimeType(ContentService.MimeType.RSS);
}

Kod aşağıdaki bileşenlerden oluşur. Orijinal XKCD RSS özet akışını getirmek için URL getirme hizmetini kullanın. Değişiklikleri yapmak için standart bir JavaScript normal ifadesi kullanın. Düzenlenen feed'i bir TextOutput nesnesine yerleştirin ve MIME türünü RSS olarak ayarlayın.

Bunu uygulamada görmek için komut dosyasını web uygulaması olarak yayınlayın ve anonim erişime izin verin. Hizmetin URL'sini RSS okuyucunuza ekleyin veya doğrudan bir web tarayıcısında ziyaret edin.

Komut dosyalarından JSON sunma

Diğer komut dosyalarına, web sitelerine ve hizmetlere JSON sunmak için İçerik hizmetini kullanın. Aşağıdaki komut dosyası, bir takvim aralığının belirli bir saatte açık olup olmadığını kontrol eden bir hizmeti uygular.

function doGet(request) {
  var events = CalendarApp.getEvents(
    new Date(Number(request.parameters.start) * 1000),
    new Date(Number(request.parameters.end) * 1000));
  var result = {
    available: events.length == 0
  };
  return ContentService.createTextOutput(JSON.stringify(result))
    .setMimeType(ContentService.MimeType.JSON);
}

Bunu anonim bir web uygulaması olarak yayınlayın. Kullanıcılar, hizmet URL'sinin sonuna URL parametreleri ekleyebilir. start ve end parametreleri, standart Unix döneminde bir zaman aralığı belirtir.

curl -L URL_OF_YOUR_SCRIPT?start=1325437200&end=1325439000

Hizmet, takvimin bu aralıkta açık olup olmadığını bildiren JSON döndürür.

{"available":true}

Web sayfalarında JSONP sunma

Küçük bir değişiklikle JSON hizmetiniz, tarayıcıda JavaScript'ten çağrılmak üzere JSONP olabilir.

function doGet(request) {
  var events = CalendarApp.getEvents(
    new Date(Number(request.parameters.start) * 1000),
    new Date(Number(request.parameters.end) * 1000));
  var result = {
    available: events.length == 0
  };
  return ContentService.createTextOutput(
    request.parameters.prefix + '(' + JSON.stringify(result) + ')')
    .setMimeType(ContentService.MimeType.JAVASCRIPT);
}

Bu hizmeti tarayıcıdan çağırmak için hizmet URL'sine ayarlanmış bir src özelliği ve ek bir prefix parametresi içeren bir komut dosyası etiketi oluşturun. Bu, istemci tarafı JavaScript'inizde hizmet tarafından döndürülen değerle çağrılan işlevin adıdır.

<script src="URL_OF_YOUR_SCRIPT?start=1325437200&end=1325439000&prefix=alert"></script>

Bu örnekte, tarayıcının yerleşik alert işlevi ön ek olarak kullanılarak tarayıcıda hizmet çıkışını içeren bir mesaj kutusu gösterilmektedir. Döndürülen JavaScript kodu şu şekilde görünür:

alert({"available":true})

JSONP kullanırken dikkatli olun. Herkes komut dosyası etiketini web sayfasına yerleştirebileceğinden, kötü amaçlı bir web sitesini ziyaret ettiğinizde komut dosyasını yürütmeniz için kandırılabilirsiniz. Bu durumda, döndürülen veriler yakalanabilir. JSONP komut dosyalarının salt okunur olduğundan ve yalnızca hassas olmayan bilgileri döndürdüğünden emin olun.

Yönlendirmeler

Güvenlik nedeniyle, İçerik hizmeti tarafından döndürülen içerik script.googleusercontent.com adresindeki tek kullanımlık bir URL'ye yönlendirilir. Verileri başka bir uygulamaya döndürmek için İçerik hizmetini kullanıyorsanız HTTP istemcisinin yönlendirmeleri takip edecek şekilde yapılandırıldığından emin olun. curl komut satırı yardımcı programı için -L işaretini ekleyin. Daha fazla bilgi için HTTP istemcinizin belgelerine bakın.