Geliştirici Kılavuzu: Protokol

Önemli: Bu, 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 Blogger içeriğini Google Data API feed'leri biçiminde görüntülemesine ve güncellemesine olanak verir.

İstemci uygulamanız Blogger Data API'yi kullanarak yeni blog yayınları oluşturabilir, mevcut blog yayınlarını düzenleyebilir veya silebilir, ayrıca belirli ölçütlere uyan blog yayınlarını sorgular.

Bu dokümanda, Blogger Data API'nın işlevleriyle ilgili genel bilgi vermenin yanı sıra, ham XML ve HTTP kullanan temel Data API etkileşimlerine örnekler verilmiştir. Bu dokümanı okuduktan sonra, geliştirici kitaplıklarımızı kullanarak API ile etkileşime geçme hakkında daha fazla bilgi edinmek için bu geliştirici kılavuzunun programlama diline özel bölümlerini okuyabilirsiniz.

İçindekiler

Kitle

Bu doküman, XML ve HTTP kullanarak Blogger ile etkileşimde bulunabilecek istemci uygulamaları yazmak isteyen programcılar için hazırlanmıştır.

Bu belgede, Google Veri API'leri protokolünün arkasındaki genel fikirleri anladığınız varsayılmaktadır.

Bir UNIX sistemi kullanıyorsanız ve bu dokümandaki örnekleri kod yazmadan denemek istiyorsanız UNIX komut satırı yardımcı programlarını curl veya wget faydalı bulabilirsiniz. Daha fazla bilgi için bu yardımcı programlar için manuel sayfalara bakın.

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

Başlarken

Blogger hesabı oluşturma

Test amacıyla bir Blogger hesabına kaydolmak isteyebilirsiniz. Blogger Google Hesapları'nı kullanır, yani bir Google hesabınız varsa hâlâ hazırsınız demektir.

Blogger hizmetinde kimlik doğrulaması

Blogger Data API'yi kullanarak hem herkese açık hem de gizli feed'lere erişebilirsiniz. Herkese açık feed'ler kimlik doğrulama gerektirmez ancak salt okunurdur. Bloglarda değişiklik yapmak istiyorsanız müşterinizin, özel feed 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ı/şifresi kimlik doğrulaması.

Genel olarak Google Veri API'leri ile kimlik doğrulama hakkında daha fazla bilgi edinmek için kimlik doğrulama belgelerini inceleyin.

Bu belgenin sonraki bölümlerindeki örneklerin çoğunda uygun kimlik doğrulamasını desteklediğiniz varsayılır.

AuthSub proxy kimlik doğrulaması

AuthSub proxy kimlik doğrulaması, kullanıcılarının Google Hesaplarında kimliklerini 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ı ve şifresine erişemez. Bunun yerine, istemci, istemcinin 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 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.

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

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

AuthSubRequest URL'si şu şekilde 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 sitesindeki bağlantıyı takip eder ve kendi Google Hesabının kimliğini doğrular.

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, bu URL'ye token sorgu parametresinin değeri olarak bir kimlik doğrulama jetonu ekler. Örnek:

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ğinden bu jeton, tek kullanımlık jetonla Yetkilendirme üst bilgisinde AuthSubSessionToken hizmeti çağrılarak aşağıdaki gibi bir AuthSub oturum jetonu ile 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 üst bilgisi ve jetonun ne kadar süre geçerli kalacağını belirten bir Expiration başlığı içerir.

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

Blogger'a gönderebileceğiniz, güvenli olmayan bir jeton içeren bir HTTP isteği örneğini burada 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 tek kullanıcılı, yüklü bir istemci (masaüstü uygulaması gibi) ise ClientLogin kimlik doğrulamasını kullanın. ClientLogin mekanizmasını kullanarak bir 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ü kullanılarak HTML formu tarafından iletilen parametreler gibi görünen bir dizi sorgu parametresi içermelidir. Bu parametreler:

E-posta
Kullanıcının e-posta adresi.
Çalma
Kullanıcının şifresi.
hizmet
Blogger hizmet adı: blogger. (Diğer hizmet adları için hizmet adı listesine bakın.)
hesap türü
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. Örnekler exampleCo-exampleApp-1 adını kullanır.

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

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

Başarılı olursa sunucu bir HTTP 200 OK durum kodu ve yanıtın gövdesinde üç uzun alfanümerik kod döndürür: SID, LSID ve Auth. Auth değeri, sonraki isteklerinizin her biriyle 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 yapılan tüm istekler kimlik doğrulama gerektirdiğinden, aşağıdaki biçimi kullanarak Blogger ile sonraki tüm etkileşimlerde Yetkilendirme 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 dahil ClientLogin kimlik doğrulaması hakkında daha fazla bilgi edinmek için Yüklü Uygulamalar İçin Kimlik Doğrulama dokümanına bakın.

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

Not: ClientLogin dokümanlarında açıklandığı gibi kimlik doğrulama isteği başarısız olabilir ve bir CAPTCHA doğrulaması talep edebilir. Google'ın CAPTCHA testini yapmasını ve işlemesini istiyorsanız kullanıcıyı https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger (ClientLogin dokümanlarında belirtilen CAPTCHA işleme URL'si yerine) gönderin.

Blog listesi alma

Blogger Data API, belirli bir kullanıcıya ait blogları listeleyen bir feed sağlar. Bu feed "metafeed."

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

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

Not: Ayrıca, kullanıcı kimliğini default olarak değiştirebilir ve Blogger'a, istekle birlikte kimlik bilgileri ile ilişkili kullanıcının blog listesini döndürmesini söyleyebilirsiniz.

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 ne anlama geldiği hakkında bilgi edinmek için Google Veri API'leri Protokolü Referansı dokümanına 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ı dokümanında bulabilirsiniz.

Yayın oluşturma

Blogger Data API, yeni blog girişleri oluşturmanıza ve yayınlamanıza ve giriş taslakları oluşturmanıza olanak tanır.

Blog yayını yayınlama

Kimlik doğrulama işleminden sonra yeni blog girişleri yayınlayabilirsiniz.

Öncelikle, yayınlanacak öğenin XML temsilini oluşturun. Bu XML'nin, aşağıdaki gibi görünen bir Atom <entry> öğesi biçiminde olması gerekir:

<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 yazar ayarlanması şu anda desteklenmemektedir. Tüm yeni yayınlar kimliği doğrulanmış kullanıcı tarafından oluşturulmuş gibi görünür.

Bu girişi yayınlamak için blogun yayın URL'sine aşağıdaki gibi gönderin. İlk olarak, application/atom+xml içerik türünü kullanarak Atom <entry> öğenizi yeni bir POST isteğinin gövdesine yerleştirin. Ardından meta tanımında rel özelliğinin #post ile biten <link> öğesini bularak blog'un yayın URL'sini bulun. Blogun yayın URL'si, bu öğenin href özelliği olarak verilir. Bu özellik, şu biçimdedir:

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

Not: Bu URL, blogun kullanıcılar tarafından okunabilir 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, ardından 201 CREATED gönderisinin durum kodunu ve yeni yayının bir kopyasını <entry> öğesi biçiminde döndürür. Döndürülen giriş, gönderdiğiniz girişle aynıdır ancak Blogger tarafından eklenen <id> öğesi gibi çeşitli öğeler 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 için Google Data API protokolü başvuru dokümanına bakın.

Taslak blog yayını 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>

Yayının taslak olarak tanınması için <app:draft> öğesinde yer alan veriler yes dizesi olmalıdır.

Taslak yayını alıp <app:draft> öğesinin verilerini no dizesine ayarlayarak ve yayını güncelleyerek mevcut bir taslak blog yayınını yayınlanmış bir yayına dönüştürebilirsiniz. Yayınların alınması ve güncellenmesi 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 göz atın.

Yayınlar alınıyor

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

Blogger herkese açık feed'lerini kimlik doğrulaması olmadan sorgulayabilirsiniz. Dolayısıyla, herkese açık bir blogdan blog yayınları alırken Yetkilendirme parametresini ayarlamanız gerekmez.

Tüm blog yayınları alınıyor

Kullanıcının yayınlarını almak için blog feed'inin URL'sine bir HTTP GET isteği gönderin. Blogger, uygun blog girişlerini içeren bir özet akışı döndürür. Örneğin, liz@gmail.com ile ilgili blog yayınlarının listesini almak için aşağıdaki HTTP isteğini Blogger'a gönderin (elbette blogID yerine uygun değeri kullanın):

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

Blogger daha sonra HTTP 200 OK durum kodu ve blog yayınlarını içeren standart bir Atom 1.0 özet akışı döndürür.

Aşağıda, yalnızca tek yayını olan bir blog özet akışı örneği verilmiştir. Bu örneği insanlar tarafından biraz daha okunabilir hale getirmek için hafifçe düzenlediğimize dikkatinizi çekeriz. Özellikle, gerçek bir Blogger feed'i 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 yayınları alma

Blogger Data API, belirli bir kriterle eşleşen bir dizi giriş (örneğin, belirli bir tarih aralığında yayınlanmış veya güncellenmiş blog yayınları için istekte bulunmanız) talep etmenize olanak tanır.

Ö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 tarihleri 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.

Belirli bir aralıktaki tüm blog girişlerini güncellemek için updated-min ve updated-max parametreleri de kullanılabilir. Ancak orderby parametresi de updated olarak ayarlanmadığı sürece bu parametrelerin yok sayılacağını unutmayın.

Blogger Data API 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 (etiketler olarak da bilinir) belirtir. Örneğin, http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie hem Fritz hem de Laurie etiketine sahip girişleri döndürür.
maks. sonuç
Döndürülecek maksimum giriş sayısı.
CANNOT TRANSLATE
Girişlerin döndürüleceği sıralama (ör. lastmodified (varsayılan), starttime veya updated).
yayınlanan-min, yayınlanan-maksimum
Giriş yayın tarihleriyle ilgili sınırlar.
başlangıç dizini
Alınan ilk sonucun 1 tabanlı dizini (sayfalara ayırma için).
güncellenmiş-min, güncellenmiş-maksimum
Giriş güncelleme tarihleriyle ilgili sınırlar. orderby parametresi updated olarak ayarlanmadığı sürece bu sorgu parametreleri yoksayılır.

Sorgu parametreleri hakkında daha fazla bilgi için Blogger Data API Referans Kılavuzu ve Google Veri API'leri Referans Kılavuzu'na göz atın.

Yayınlar güncelleniyor

Mevcut bir blog yayınını güncellemek için önce güncellemek istediğiniz girişi alın, sonra değiştirin ve ardından ileti gövdesindeki güncellenmiş girişi içeren, PUT gönderisinin düzenleme URL'sine bir istek gönderin. PUT girişinde <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 vurgulanı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İ: İleriye dönük uyumluluk sağlamak için, güncellenmiş bir girişi PUT yaparken girişi Blogger'dan alırken mevcut olan tüm XML'i koruduğunuzdan emin olun. Aksi takdirde, yeni öğeler uygulayıp feed'e <new-awesome-feature> öğelerini eklediğimizde müşteriniz bunları geri döndürmez ve kullanıcılarınız bunları gözden kaçırır. Google Data API istemci kitaplıklarının tümü doğru şekilde çalışır. Yani kitaplıklardan birini kullanıyorsanız işlem tamamlanmış olur.

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

Sorun giderme ipucu: Bazı güvenlik duvarları HTTP PUT mesajlarını engeller. Bu sorunu çözmek için bir POST isteğine X-HTTP-Method-Override: PUT üst bilgisi ekleyebilirsiniz. Ayrıntılar için Google Data API protokolü ile ilgili temel bilgiler dokümanını inceleyin.

Yayınları silme

Bir yayını silmek için yayının düzenleme URL'sine bir 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ı HTTP DELETE mesajlarını engeller. Bu sorunu çözmek için bir POST isteğine X-HTTP-Method-Override: DELETE üst bilgisi ekleyebilirsiniz. Ayrıntılar için Google Data API protokolü ile ilgili temel bilgiler dokümanını inceleyin.

Yorumlar

Blogger Data API'sı yorumların oluşturulmasına, alınmasına ve silinmesine olanak tanır. Yorumların güncellenmesi desteklenmez (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 POST isteğ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 blogda yorum yayınlayabilirsiniz.

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

Yorumları alma

Belirli bir gönderinin yorumlarını, bu yayının yorum feed'i URL'sine bir GET göndererek alabilirsiniz:

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

Blog'un yorum feed'ini kullanarak tüm yayınlardan yorumları da alabilirsiniz URL:

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

Bu istekler şuna benzeyen 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 bir DELETE isteği gönderin. Bu URL, yukarıdaki yorum feed'inde vurgulanıyor.

Dışa aktarma biçimi

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

Dışa aktarma biçimini kullanarak blog verilerini dışa veya içe aktarmak için blogun Ayarlar sayfasını ziyaret edebilirsiniz. Data API'yi kullanarak bir blog'un 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, dışa aktarma dosyasının içeriği istek verisi olarak ve içerik türü application/atom+xml olan bir POST isteği oluşturun:

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

Yukarıdaki URL'lerin hiçbiri sorgu parametrelerini desteklemiyor. Her iki istek de kimlik doğrulama bilgisi içermelidir. 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ıralanmasıyla ilgili bir kısıtlama söz konusudur. Blogger dışa aktarma dosyasında önce tüm yayınlar ve ardından tüm yorumlar listelenir. Yayın ve yorum girişlerinin müdahale edilmesine, yorum girişinin yorumun ait olduğu yayından sonra gelmesi koşuluyla 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