Geliştirici Kılavuzu: Protokol

Önemli: Google Data API 2.0 sürümüne yönelik desteği 30 Eylül 2024'te sonlandıracağız. İşlevselliğin etkinlenmemesi için Google Veri API'sinin 2.0 sürümünü kullanan uygulamalarınızı en son API sürümüne güncelleyin. En son sürüm için sol taraftaki gezinme çubuğundaki bağlantıları kullanın. Not: Bazı GET istekleri (ör. giriş gönderileri) feed URL'leri olarak desteklenmeye devam edecek olsa da bu isteklerin davranışında küçük farklılıklar vardır. Ayrıntılı bilgi için Blogger Yardımı dokümanlarını inceleyin.

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 HTTPS kullanan temel Data API etkileşimlerine dair örnekler 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 HTTPS kullanarak Blogger ile etkileşime geçebilecek istemci uygulamaları yazmak isteyen programcılar için hazırlanmıştır.

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.

İstekleri yetkilendirme

Uygulamanız herkese açık olmayan kullanıcı verileri istediğinde bir yetkilendirme jetonu içermelidir. Bu jeton ayrıca uygulamanızı Google'a tanıtır.

Yetkilendirme protokolleri hakkında

İstekleri yetkilendirmek için OAuth 2.0 kullanmanızı öneririz.

Blogger GData API, OAuth 1.0, AuthSub veya ClientLogin gibi eski yetkilendirme seçeneklerini de destekler. Ancak çoğu durumda bu seçenekleri kullanmanızı önermeyiz. Uygulamanız bu seçenekleri zaten kullanıyorsa mümkünse OAuth 2.0'a geçmenizi öneririz.

Uygulamanızda, veri erişimi isteğinde bulunurken aynı anda giriş yapma (karma) veya alan genelinde yetki verme (2LO) gibi belirli olağan dışı yetkilendirme koşulları varsa şu anda OAuth 2.0 jetonlarını kullanamazsınız. Bu tür durumlarda bunun yerine OAuth 1.0 jetonlarını kullanmanız gerekir.

OAuth 2.0 ile istekleri yetkilendirme

Blogger GData API'sine gönderilen, herkese açık olmayan kullanıcı verileri isteklerinin kimliği doğrulanmış bir kullanıcı tarafından yetkilendirilmesi gerekir.

OAuth 2.0 ile yetkilendirme işleminin ("akış") ayrıntıları, yazdığınız uygulamanın türüne bağlı olarak değişiklik gösterir. Aşağıdaki genel işlem tüm uygulama türleri için geçerlidir:

  1. Uygulamanızı oluştururken Google'a kaydedersiniz. Ardından Google, daha sonra ihtiyaç duyacağınız bilgiler (ör. istemci kimliği ve istemci gizli anahtarı) sağlar.
  2. Uygulamanız kullanıcı verilerine erişmesi gerektiğinde Google'dan belirli bir erişim kapsamı ister.
  3. Google, kullanıcıya uygulamanızı kullanıcının verilerinden bazılarını istemeye yetkilendirmesi için bir OAuth iletişim kutusu gösterir.
  4. Kullanıcı onaylarsa Google, uygulamanıza kısa süreli bir erişim jetonu verir.
  5. Uygulamanız, erişim jetonunu isteğe ekleyerek kullanıcı verileri için istekte bulunur.
  6. Google, isteğinizin ve jetonun geçerli olduğuna kanaat getirirse istenen verileri döndürür.

Bazı akışlarda başka adımlar da yer alır. Örneğin, yeni erişim jetonları almak için yenileme jetonları kullanmak. Farklı uygulama türlerine yönelik akışlar hakkında ayrıntılı bilgi için Google'ın OAuth 2.0 dokümanlarına bakın.

Blogger GData API'si için OAuth 2.0 kapsam bilgileri şöyledir:

https://www.blogger.com/feeds/

Uygulamanızın OAuth 2.0 kullanarak erişim isteğinde bulunabilmesi için hem kapsam bilgilerine hem de uygulama kaydında Google tarafından sağlanan bilgilere (ör. istemci kimliği ve/veya istemci gizli anahtarı) ihtiyacı vardır.

İpucu: Google API'leri istemci kitaplıkları, yetkilendirme işleminin bazı adımlarını sizin yerinize gerçekleştirebilir. Bu kitaplıklar çeşitli programlama dilleri için kullanıma sunulmuştur. Ayrıntılar için Kitaplıklar ve Örnekler sayfasını inceleyin.

Sürüm belirtme

Blogger Veri API'sini kullanarak gönderdiğiniz her istekte API'nin 2. sürümü belirtilmelidir.

Sürüm numarasını belirtmek için GData-Version HTTP üst bilgisini kullanın:

GData-Version: 2

Alternatif olarak, HTTP üstbilgilerini ayarlayamıyorsanız URL'de v=2 parametresini sorgu parametresi olarak belirtebilirsiniz. Ancak mümkün olduğunda HTTP üstbilgisi tercih edilir.

Not: İstemci kitaplıkları uygun sürüm üstbilgilerini otomatik olarak sağlar. Bu nedenle, istemci kitaplığı kullanıyorsanız v=2 sorgu parametresini kullanmayın.

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.

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

https://www.blogger.com/feeds/profileID/blogs

Burada profil kimliği, kullanıcının profil sayfasının URL'sindeki sayıdır.

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 gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:user-userNumber.blog-blogID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/profileID/blogs/blogID' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  ...
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </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:

https://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://www.w3.org/2007/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. 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 elbette uygun değeri girin):

GET https://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.

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <subtitle type='html'></subtitle>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www2.blogger.com'>Blogger</generator>
  <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2008-04-07T20:25:00.005-07:00</published>
    <updated>2008-04-07T20:25:37.132-07:00</updated>
    <title>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='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2008/04/quite-disagreeable.html' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>noreply@blogger.com</email>
    </author>
  </entry>
</feed>

Blog yayınını tekrar alma

Daha önce aldığınız bir yayını almak istiyorsanız Blogger'a, yayını yalnızca son aldığınızdan beri değiştiyse göndermesini söyleyerek verimliliği artırabilirsiniz.

Bu tür koşullu getirme işlemini yapmak için HTTP If-None-Match başlığı içeren bir HTTP GET isteği gönderin. Başlıkta, girişin ETag'ını belirtin. ETag'ı <entry> öğesinin gd:etag özelliğinde bulabilirsiniz.

Örneğin:

If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."

Blogger bu isteği aldığında, istediğiniz girişin belirttiğiniz ETag ile aynı ETag'a sahip olup olmadığını kontrol eder. ETag'lar eşleşirse giriş değişmemiştir ve Blogger bir HTTP 304 Not Modified durum kodu döndürür.

E-etiketler eşleşmezse giriş, son isteğinizden bu yana değiştirilmiş demektir ve Blogger girişi döndürür.

ETags hakkında daha fazla bilgi için Google Veri API'leri referans kılavuzuna bakın.

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 https://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, https://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.
yol
Bir yayının kalıcı bağlantısı. Örneğin, http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html URL'sine sahip bir yayın için kalıcı bağlantı yolu /2011/08/bloggers-fresh-new-look.html olur.
q
Tam metin sorgu dizesi. Bu sayede, bir blogda bir sorguyla eşleşen yayınları arayabilirsiniz.

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 gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'>
  <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 mesajlarını 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 https://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 https://www.blogger.com/feeds/blogID/postID/comments/default

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

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

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

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <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://www.blogger.com/feeds/blogID/postID/comments/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www.blogger.com'>Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-12-14T17:46:00.001-08:00</published>
    <updated>2007-12-14T17:46:00.001-08:00</updated>
    <title>Darcy FTW!</title>
    <content type='html'>Darcy FTW!</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID'
      title='' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>liz@gmail.com</email>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
      ref='tag:blogger.com,1999:blog-blogID.post-postID'
      source='http://www.blogger.com/feeds/blogID/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 https://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 https://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