Geliştirici Kılavuzu: Protokol

Önemli: Bu, sayfanın eski bir sürümüdür. En son sürüm için sol taraftaki gezinme çubuğundaki bağlantıları kullanın.

Blogger Data API, istemci uygulamalarının Blogger içeriğini Google Data API feed'leri biçiminde görüntülemesine ve güncellemesine olanak tanır.

İstemci uygulamanız, yeni blog yayınları oluşturmak, mevcut blog yayınlarını düzenlemek veya silmek ve belirli ölçütlere uyan blog yayınlarını sorgulamak için Blogger Veri API'sini kullanabilir.

Bu doküman, Blogger Data API'nin özellikleri hakkında bilgi vermenin yanı sıra ham XML ve HTTP kullanan temel Data API etkileşimlerine dair örnekler de sunar. Bu dokümanı okuduktan sonra, bu geliştirici kılavuzunun programlama diline özel bölümlerini inceleyerek istemci kitaplıklarımızı kullanarak API ile etkileşim kurma hakkında daha fazla bilgi edinebilirsiniz.

İçindekiler

Kitle

Bu doküman, XML ve HTTP kullanarak Blogger ile etkileşime geçebilecek istemci uygulamaları yazmak isteyen programcılara yöneliktir.

Bu dokümanda, Google Veri API'leri protokolünün temel fikirlerini anladığınız varsayılmaktadır.

UNIX sistemi kullanıyorsanız ve bu belgedeki örnekleri kod yazmadan denemek istiyorsanız UNIX komut satırı yardımcı programları curl veya wget'ü yararlı bulabilirsiniz. Daha fazla bilgi için bu yardımcı programların manuel sayfalarına bakın.

Blogger Data API referans bilgileri için Protokol referans kılavuzuna bakın.

Başlarken

Blogger hesabı oluşturma

Test amacıyla Blogger hesabına kaydolmanız önerilir. Blogger, Google Hesaplarını kullanır. Dolayısıyla, zaten bir Google Hesabınız varsa hazırsınız demektir.

Blogger hizmetinde kimlik doğrulama

Blogger Data API'yi kullanarak hem herkese açık hem de özel feed'lere erişebilirsiniz. Herkese açık feed'ler için kimlik doğrulama gerekmez ancak bunlar salt okunurdur. Blogları değiştirmek istiyorsanız istemcinizin gizli feed'ler istemeden önce kimliğini doğrulaması gerekir. İki yaklaşımdan birini kullanarak kimlik doğrulaması yapabilir: AuthSub proxy kimlik doğrulaması veya ClientLogin kullanıcı adı/şifre kimlik doğrulaması.

Genel olarak Google Veri API'leriyle kimlik doğrulama hakkında daha fazla bilgi için kimlik doğrulama belgelerine bakın.

Bu dokümanın sonraki bölümlerindeki örneklerin çoğunda, uygun kimlik doğrulamayı sağladığınız varsayılır.

AuthSub proxy kimlik doğrulaması

AuthSub proxy kimlik doğrulaması, kullanıcılarının Google Hesaplarında kimliğini doğrulaması gereken web uygulamaları tarafından kullanılır. Web sitesi operatörü ve istemci kodu, Blogger kullanıcısının kullanıcı adına ve şifresine erişemez. Bunun yerine, istemci belirli bir kullanıcı adına işlem yapmasına olanak tanıyan özel AuthSub jetonları alır. Daha ayrıntılı bilgi için AuthSub belgelerine bakın.

Bir kullanıcı uygulamanızı ilk kez ziyaret ettiğinde kimliği henüz doğrulanmamıştır. Bu durumda, kullanıcıların bloglarına erişim isteğinizin kimliğini doğrulamak için bazı bilgiler ve kullanıcıyı bir Google sayfasına yönlendiren bir bağlantı göstermeniz gerekir.

AuthSubRequest URL'sine aşağıdaki sorgu parametreleri dahildir:

sonraki
Google'ın kimlik doğrulamasından sonra kullanıcıyı yönlendirmesi gereken sayfanın URL'si.
kapsam
Uygulamanın, Blogger feed'lerine erişmek için jeton istediğini gösterir. Kullanılacak kapsam dizesi http://www.blogger.com/feeds/'tir (elbette URL kodlamalıdır).
güvenli
İstemcinin güvenli bir jeton isteyip istemediğini belirtir.
oturum
Döndürülen jetonun çok kullanımlı (oturum) jetonuyla değiştirilip değiştirilemeyeceğini belirtir.

AuthSubRequest URL'si aşağıdaki gibi görünebilir:

https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.html

Kullanıcı, Google'ın sitesinin bağlantısını takip eder ve Google Hesabı'nda kimlik doğrulaması yapar.

Kullanıcı kimliğini doğruladıktan sonra AuthSub sistemi, kullanıcıyı AuthSubRequest URL'sinin next sorgu parametresinde belirttiğiniz URL'ye yönlendirir. AuthSub sistemi, token sorgu parametresinin değeri olarak bu URL'ye bir kimlik doğrulama jetonu ekler. Örneğin:

http://www.example.com/welcome.html?token=yourAuthToken

Bu jeton değeri, tek kullanımlık bir AuthSub jetonunu temsil eder. Bu örnekte, session=1 belirtildiği için bu jeton, bir Yetkilendirme üstbilgisinde tek kullanımlık jetonla AuthSubSessionToken hizmetini çağırarak AuthSub oturum jetonuyla değiştirilebilir.

GET /accounts/AuthSubSessionToken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourAuthToken"
User-Agent: Java/1.5.0_06
Host: www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

AuthSubSessionToken hizmet yanıtı, oturum jetonunu içeren bir Token üstbilgisi ve jetonun ne kadar süreyle geçerli olacağını belirten bir Expiration üstbilgisi içerir.

Ardından uygulamanız, Blogger ile sonraki etkileşimlerin Authorization başlığında oturum jetonu değerini kullanabilir.

Blogger'a gönderebileceğiniz, güvenli olmayan bir jeton içeren HTTP isteği örneğini aşağıda bulabilirsiniz:

GET /feeds/blogID/blogs/posts/defaults HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourSessionToken"
User-Agent: Java/1.5.0_06
Host: www.blogger.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

ClientLogin kullanıcı adı/şifre kimlik doğrulaması

İstemciniz bağımsız, tek kullanıcılı "yüklü" bir istemciyse (masaüstü uygulaması gibi) ClientLogin kimlik doğrulamasını kullanın. ClientLogin mekanizmasını kullanarak kimlik doğrulama jetonu istemek için aşağıdaki URL'ye bir POST isteği gönderin:

https://www.google.com/accounts/ClientLogin

POST gövdesi, application/x-www-form-urlencoded içerik türünü kullanarak bir HTML formu tarafından iletilen parametrelere benzeyen bir dizi sorgu parametresi içermelidir. Bu parametreler şunlardır:

E-posta
Kullanıcının e-posta adresi.
Şifre
Kullanıcının şifresi.
hizmet
Blogger hizmet adı blogger. (Diğer hizmet adları için hizmet adı listesine bakın.)
accountType
Blogger API kullanılırken bu değer her zaman GOOGLE olarak ayarlanmalıdır. Bu parametrenin ayarlanmaması, G Suite hesabı da olan kullanıcıların erişimini engeller.
source
İstemci uygulamanızı tanımlar. companyName-applicationName-versionID biçiminde olmalıdır. Örneklerde exampleCo-exampleApp-1 adı kullanılmıştır.

Parametreler hakkında daha fazla bilgi için Yüklü Uygulamalar için Kimlik Doğrulama belgesine bakın.

Kimlik doğrulama isteği başarısız olursa sunucu bir HTTP 403 Forbidden durum kodu döndürür.

İşlem başarılı olursa sunucu bir HTTP 200 OK durum kodu ve yanıt gövdesinde üç uzun alfanümerik kod döndürür: SID, LSID ve Auth. Kimlik doğrulama değeri, sonraki isteklerinizin her birinde Blogger'a göndereceğiniz yetkilendirme jetonudur. Bu nedenle, bu değerin bir kopyasını saklayın. SID ve LSID değerlerini yoksayabilirsiniz.

Özel feed'lere gönderilen tüm isteklerde kimlik doğrulama gerektiğinden, Blogger ile sonraki tüm etkileşimlerde aşağıdaki biçimi kullanarak Authorization başlığını ayarlamanız gerekir:

Authorization: GoogleLogin auth=yourAuthToken

Burada yourAuthToken, ClientLogin isteği tarafından döndürülen Auth dizesidir.

Örnek istekler ve yanıtlar da dahil olmak üzere ClientLogin kimlik doğrulaması hakkında daha fazla bilgi için Yüklü Uygulamalar için Kimlik Doğrulama dokümanlarını inceleyin.

Not: Belirli bir oturumdaki tüm istekler için aynı jetonu kullanın. Her Blogger isteği için yeni bir jeton edinmeyin.

Not: ClientLogin dokümanlarında açıklandığı gibi, kimlik doğrulama isteği başarısız olabilir ve CAPTCHA istemi istenebilir. Google'ın CAPTCHA sorgusunu gönderip işlemesini istiyorsanız kullanıcıyı https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger (ClientLogin dokümanlarında verilen CAPTCHA işleme URL'si yerine) adresine yönlendirin.

Blog listesini alma

Blogger Data API, belirli bir kullanıcının bloglarını listeleyen bir feed sağlar. Bu feed, "meta feed" olarak bilinir.

Blogların listesini almak için aşağıdaki URL'ye bir HTTP GET gönderin:

http://www.blogger.com/feeds/userID/blogs

Not: Kullanıcı kimliği yerine default değerini de kullanabilirsiniz. Bu durumda Blogger, kimlik bilgileri istekte bulunan kullanıcının blog listesini döndürür.

Meta feed'deki bir giriş şu şekilde görünebilir:

<entry>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2006-11-08T18:10:23.020-08:00</updated>
  <title type='text'>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/'>
  </link>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/userID/blogs/blogID'>
  </link>
  <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/userID/blogs/blogID'>
  </link>
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

Bu öğelerin her birinin ne anlama geldiği hakkında bilgi edinmek için Google Data API'leri Protokol Referansı belgesine veya Atom 1.0 spesifikasyonuna bakın.

İsteğiniz herhangi bir nedenle başarısız olursa Blogger farklı bir durum kodu döndürebilir. HTTP durum kodları hakkında daha fazla bilgiyi Google Veri API'leri Protokol Referansı belgesinde de bulabilirsiniz.

Yayın oluşturma

Blogger Veri API'si, yeni blog girişleri oluşturmanıza ve yayınlamanıza, ayrıca giriş taslakları oluşturmanıza olanak tanır.

Blog yayını yayınlama

Kimlik doğrulamasını tamamladıktan sonra yeni blog girişleri yayınlayabilirsiniz.

İlk olarak, yayınlanacak yayının XML temsilini oluşturun. Bu XML'in Atom <entry> öğesi biçiminde olması gerekir. Bu öğe şu şekilde görünebilir:

<entry xmlns='http://www.w3.org/2005/Atom'>
  <title type='text'>Marriage!</title>
  <content type='xhtml'>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Mr. Darcy has <em>proposed marriage</em> to me!</p>
      <p>He is the last man on earth I would ever desire to marry.</p>
      <p>Whatever shall I do?</p>
    </div>
  </content>
  <category scheme="http://www.blogger.com/atom/ns#" term="marriage" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
</entry>

Not: Yayınlar için özel bir yazar ayarlama özelliği şu anda desteklenmiyor. Tüm yeni gönderiler, kimliği doğrulanmış kullanıcı tarafından oluşturulmuş gibi görünür.

Bu girişi yayınlamak için aşağıdaki şekilde blogun yayın URL'sine gönderin. Öncelikle, application/atom+xml içerik türünü kullanarak Atom <entry> öğenizi yeni bir POST isteğinin gövdesine yerleştirin. Ardından, rel özelliğinin #post ile bittiği <link> öğesini bularak meta feed'de blogun gönderi URL'sini bulun. Blogun yayın URL'si, bu öğenin href özelliği olarak şu biçimde verilir:

http://www.blogger.com/feeds/blogID/posts/default

Not: Bu URL, blogun kullanıcılar tarafından okunabilen sürümünün <head> bölümünde görünen <link rel="service.post"> etiketindeki URL ile aynıdır.

Blogger, gönderdiğiniz girişi kullanarak bir blog yayını oluşturur ve ardından yeni yayının bir kopyasını <entry> öğesi biçiminde 201 CREATED HTTP durum koduyla birlikte döndürür. Döndürülen giriş, gönderdiğinizle aynıdır ancak Blogger tarafından eklenen çeşitli öğeler (ör. <id> öğesi) de içerir.

İsteğiniz herhangi bir nedenle başarısız olursa Blogger farklı bir durum kodu döndürebilir. Durum kodları hakkında bilgi edinmek için Google Data API protokolü referans belgesine bakın.

Blog yayını taslağı oluşturma

Taslak yayınlar, herkese açık yayınlarla aynı şekilde oluşturulur ancak girişe, yayının (henüz) yayınlanmaması gerektiğini belirten bir <app:control> öğesi eklenir.

Bu <app:control> öğesi, alt öğe olarak tek bir <app:draft> öğesi içermelidir:

<app:control xmlns:app='http://purl.org/atom/app#'>
  <app:draft>yes</app:draft>
</app:control>

Gönderinin taslak olarak tanınması için <app:draft> öğesinde bulunan verilerin yes dizesi olması gerekir.

Mevcut bir taslak blog yayınını, taslak yayını alarak, <app:draft> öğesinin verilerini no dizesi olarak ayarlayarak ve ardından yayını güncelleyerek yayınlanmış bir yayına dönüştürebilirsiniz. Yayınları alma ve güncelleme işlemleri sonraki iki bölümde ele alınmıştır.

Not: <app:control> ve <app:draft> ad alanları da dahil olmak üzere Atom Yayınlama Protokolü hakkında daha fazla bilgi için RFC 5023'e bakın.

Yayınları alma

Aşağıdaki bölümlerde, sorgu parametreleri ile ve sorgu parametreleri olmadan blog yayınlarının listesinin nasıl alınacağı açıklanmaktadır.

Blogger'daki herkese açık bir feed'i kimlik doğrulaması yapmadan sorgulayabilirsiniz. Bu nedenle, herkese açık bir blogdan blog yayınlarını alırken Authorization parametresini ayarlamanız gerekmez.

Tüm blog yayınlarını alma

Kullanıcının yayınlarını almak için blog'un feed URL'sine bir HTTP GET isteği gönderin. Ardından Blogger, uygun blog girişlerini içeren bir feed döndürür. Örneğin, liz@gmail.com adresine ait blog yayınlarının listesini almak için Blogger'a aşağıdaki HTTP isteğini gönderin (blogID yerine uygun değeri eklemeyi unutmayın):

GET http://www.blogger.com/feeds/blogID/posts/default

Ardından Blogger, bir HTTP 200 OK durum kodu ve blog yayınlarını içeren standart bir Atom 1.0 feed'i döndürür.

Aşağıda, yalnızca bir yayını olan bir blogun feed'i örneği verilmiştir. Bu örneği, insanlar tarafından daha kolay okunabilmesi için biraz düzenlediğimizi fark edin. Özellikle gerçek Blogger feed'leri gerçek kimlikleri ve URL'leri içerir.

<feed xmlns='http://www.w3.org/2005/Atom'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2006-11-08T18:10:23.020-08:00</updated>
  <title type='text'>Lizzy's Diary</title>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/index.html'>
  </link>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
  <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator>
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2006-11-08T18:10:00.000-08:00</published>
    <updated>2006-11-08T18:10:14.954-08:00</updated>
    <title type='text'>Quite disagreeable</title>
    <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</content>
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
    </link>
    <link rel='self' type='application/atom+xml'
      href='http://blogName.blogspot.com/feeds/posts/default/postID'>
    </link>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
    </link>
    <author>
      <name>Elizabeth Bennet</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/profileID</uri>
    </author>
  </entry>
</feed>

Sorgu parametrelerini kullanarak gönderileri alma

Blogger Data API, belirli ölçütlere uyan bir giriş grubu istemenize olanak tanır (ör. belirli bir tarih aralığında yayınlanan veya güncellenen blog yayınlarını isteme).

Örneğin, tarih aralığı sorgusu göndermek için istek URL'sine published-min ve published-max parametrelerini ekleyin. 16 Mart 2008 ile 24 Mart 2008 arasında oluşturulan tüm blog girişlerini almak için blogun feed URL'sine bir HTTP isteği gönderin:

GET http://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59

Bu GET isteğini gönderdiğinizde Blogger, bir HTTP 200 OK durum kodu ve belirttiğiniz tarih aralığında oluşturulan tüm blog yayınlarını içeren bir feed döndürür.

updated-min ve updated-max parametreleri, belirli bir aralıktaki tüm blog girişlerinin güncellenmesini sağlamak için de kullanılabilir. Ancak orderby parametresi de updated olarak ayarlanmazsa bu parametrelerin yoksayıldığını unutmayın.

Blogger Veri API'si aşağıdaki sorgu parametrelerini destekler:

alt
Döndürülecek feed türü (ör. atom (varsayılan) veya rss).
/category
Feed sonuçlarını filtrelemek için kategorileri (etiket olarak da bilinir) belirtir. Örneğin, http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie hem Fritz hem de Laurie etiketlerini içeren girişleri döndürür.
max-results
Döndürülecek maksimum giriş sayısı.
orderby
Girişlerin döndürüleceği sıra (ör. lastmodified (varsayılan), starttime veya updated).
published-min, published-max
Giriş yayınlanma tarihlerinin sınırları.
start-index
Alınacak ilk sonucun 1 tabanlı dizini (sayfalama için).
updated-min, updated-max
Giriş güncelleme tarihlerinin sınırları. orderby parametresi updated olarak ayarlanmazsa bu sorgu parametreleri yoksayılır.

Sorgu parametreleri hakkında daha fazla bilgi için Blogger Veri API'si Referans Kılavuzu ve Google Veri API'leri Referans Kılavuzu'na bakın.

Yayınları güncelleme

Mevcut bir blog yayınını güncellemek için önce güncellemek istediğiniz girişi alır, ardından girişi değiştirir ve yayının düzenleme URL'sine, güncellenmiş girişin ileti gövdesinde bulunduğu bir PUT isteği gönderirsiniz. PUT yaptığınız girişteki <id> değerinin, mevcut girişin <id> değeriyle tam olarak eşleştiğinden emin olun.

Düzenleme URL'si aşağıdaki girişte vurgulanmıştır:

<entry>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-11-08T18:10:00.000-08:00</published>
  <updated>2006-11-08T18:10:14.954-08:00</updated>
  <title type='text'>Quite disagreeable</title>
  <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</content>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default/postID'>
  </link>
  <link rel='edit' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
  </link>
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

ÖNEMLİ: Gelecekte uyumluluğu sağlamak için güncellenmiş bir girişi PUT ettiğinizde, girişi Blogger'dan aldığınızda mevcut olan XML'in tümünü koruduğunuzdan emin olun. Aksi takdirde, yeni öğeleri uygulayıp feed'e <new-awesome-feature>öğeleri dahil ettiğimizde müşteriniz bunları döndürmez ve kullanıcılarınız bu öğeleri kaçırır. Google Data API istemci kitaplıklarının tümü bu işlemi doğru şekilde gerçekleştirir. Bu nedenle, kitaplıklardan birini kullanıyorsanız sorun yaşamazsınız.

Not: Yayınlarla ilişkili yazar verilerinin değiştirilmesi şu anda desteklenmemektedir.

Sorun giderme ipucu: Bazı güvenlik duvarları HTTPPUT iletilerini engeller. Bu sorunun üstesinden gelmek için POST isteğine bir X-HTTP-Method-Override: PUT başlığı ekleyebilirsiniz. Ayrıntılar için Google Data API protokolünün temel özellikleri belgesine bakın.

Yayınları silme

Bir yayını silmek için yayının düzenleme URL'sine DELETE isteği gönderin. Bu, yayınları güncellemek için kullanılan URL ile aynıdır.

Sorun giderme ipucu: Bazı güvenlik duvarları HTTPDELETE iletilerini engeller. Bu sorunun üstesinden gelmek için POST isteğine bir X-HTTP-Method-Override: DELETE başlığı ekleyebilirsiniz. Ayrıntılar için Google Data API protokolünün temel özellikleri belgesine bakın.

Yorumlar

Blogger Data API, yorum oluşturmanıza, almanıza ve silmenize olanak tanır. Yorumların güncellenmesi desteklenmez (ve web arayüzünde kullanılamaz).

Yorum oluşturma

Yorum yayınlamak için aşağıdaki gibi bir Atom <entry> öğesi oluşturun:

  <entry xmlns='http://www.w3.org/2005/Atom'>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
  </entry>

Bu yorumu yayınlamak için Atom <entry> öğenizi application/atom+xml içerik türünü kullanarak yeni bir POST isteğinin gövdesine yerleştirin. Ardından POSTisteğini uygun Blogger URL'sine gönderin:

POST http://www.blogger.com/feeds/blogID/postID/comments/default

Not: Şu anda yalnızca kimliği doğrulanmış kullanıcının sahip olduğu bir bloga yorum gönderebilirsiniz.

Not: Yorumlar için özel bir yazar ayarlama özelliği şu anda desteklenmiyor. Tüm yeni yorumlar, kimliği doğrulanmış kullanıcı tarafından oluşturulmuş gibi görünür.

Yorumları alma

Belirli bir yayına ait yorumları almak için yayının yorum feed'i URL'sine GET gönderebilirsiniz:

GET http://www.blogger.com/feeds/blogID/postID/comments/default

Dilerseniz blogun yorum feed'i URL'sini kullanarak tüm yayınlardaki yorumları da alabilirsiniz:

GET http://www.blogger.com/feeds/blogID/comments/default

Bu istekler, aşağıdaki gibi görünen bir yorum feed'i döndürür:

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
         xmlns:thr="http://purl.org/syndication/thread/1.0">
  <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id>
  <updated>2007-04-04T21:56:29.803-07:00</updated>
  <title type="text">My Blog : Time to relax</title>
  <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"/>
  <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/>
  <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/>
  <author>
    <name>Blog Author name</name>
  </author>
  <generator version="7.00" uri="http://www2.blogger.com">Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-04-04T21:56:00.000-07:00</published>
    <updated>2007-04-04T21:56:29.803-07:00</updated>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
    <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html#commentID"/>
    <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default/commentID"/>
    <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/blogID/postID/comments/default/commentID"/>
    <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" 
                     ref="tag:blogger.com,1999:blog-blogID.post-postID" 
                     source="http://www.blogger.com/feeds/posts/default/blogID"
                     type="text/html"/>
    <author>
      <name>Blog Author name</name>
      <email>blog_author@gmail.com</email>
      <uri>http://www.blogger.com/profile/userID</uri>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' 
         href='http://blogName.blogspot.com/2007/04/first-post.html' 
         ref='tag:blogger.com,1999:blog-blogID.post-postID' 
         source='http://blogName.blogspot.com/feeds/posts/default/postID'
         type='text/html' />
  </entry>
</feed>

Yorumları silme

Bir yorumu silmek için yorumun düzenleme URL'sine DELETE isteği gönderin. Bu URL, yukarıdaki yorum feed'inde vurgulanmıştır.

Dışa aktarma biçimi

Blogger, kullanıcıların Blogger dışa aktarma dosyasını kullanarak bloglarını dışa aktarmasına ve içe aktarmasına olanak tanır. Bu dışa aktarma dosyası, bir blogun tüm yayınlarını ve yorumlarını içerir. Dışa aktarma dosyasının biçimi, yayın ve yorumları alma ile ilgili bölümlerde açıklanan Atom biçimiyle aynıdır. Bu dışa aktarma dosyası, yayın feed'inin ve yorum feed'inin içeriğini tek bir dokümanda birleştirir.

Dışa aktarma biçimini kullanarak blog verilerini dışa aktarmak veya içe aktarmak için blogun Ayarlar sayfasını ziyaret edebilirsiniz. Data API'yi kullanarak bir blogun dışa aktarma dosyasını almak için aşağıdaki URL'yi kullanın:

GET http://www.blogger.com/feeds/blogID/archive

Dışa aktarma dosyasını içe aktarmak için aşağıdaki URL'ye POST isteği gönderin. İstek verileri olarak dışa aktarma dosyasının içeriğini, içerik türü olarak da application/atom+xml'yi kullanın:

POST http://www.blogger.com/feeds/blogID/archive/full

Yukarıdaki URL'lerin hiçbiri sorgu parametrelerini desteklemez. Her iki istek de kimlik doğrulama bilgilerini içermelidir ve yalnızca blog yöneticileri bu feed URL'lerini kullanarak blogu içe/dışa aktarabilir.

Not: Kendi Blogger dışa aktarma dosyanızı oluşturuyorsanız şu anda yayın ve yorum girişlerinin sıralamasıyla ilgili bir kısıtlama vardır. Blogger dışa aktarma dosyasında önce tüm yayınlar, ardından tüm yorumlar listelenir. Yorum girişi, yorumun yer aldığı yayından sonra geldiği sürece yayın ve yorum girişlerinin birbirine karıştırılmasına izin verilir.

Blogger'ın dışa aktarma dosyasında Atom biçimini nasıl kullandığı hakkında daha fazla bilgi için Protokol referans kılavuzuna bakın.

Başa dön