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 Blogger içeriğini Google Veri API'sı 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çütlerle eşleşen blog yayınlarını sorgulamak için Blogger Data API'yi kullanabilir.

Bu belgede Blogger Data API'nin özellikleri hakkında biraz arka planın yanı sıra ham XML ve HTTP kullanan temel Data API etkileşimlerine dair örnekler verilmiştir. Bu belgeyi okuduktan sonra bu geliştirici kılavuzunun programlama diline özgü bölümlerini okuyarak istemci kitaplıklarımızı kullanarak API ile etkileşim kurma hakkında daha fazla bilgi edinebilirsiniz.

İçindekiler

Kitle

Bu belge, XML ve HTTP kullanarak Blogger ile etkileşim kurabilecek istemci uygulamaları yazmak isteyen programcılar için hazırlanmıştır.

Bu belgede, Google Veri API'leri protokolünün temelini oluşturan genel fikirleri anladığınız varsayılır.

UNIX sistemi kullanıyorsanız ve bu dokümandaki örnekleri kod yazmadan denemek istiyorsanız curl veya wget UNIX komut satırı yardımcı programları işinize yarayabilir. Daha fazla bilgi için söz konusu yardımcı programların manuel sayfalarına bakın.

Blogger Data API referans bilgileri için Protokol başvuru kılavuzu'na bakın.

Başlarken

Blogger hesabı oluşturma

Test amacıyla bir Blogger hesabına kaydolmak isteyebilirsiniz. Blogger Google Hesaplarını kullanır. Dolayısıyla, zaten bir Google hesabınız varsa hazırsınız demektir.

Blogger hizmeti için kimlik doğrulama

Blogger Veri API'sını kullanarak hem genel hem de özel yayınlara erişebilirsiniz. Herkese açık feed'ler herhangi bir kimlik doğrulaması gerektirmez ancak salt okunurdur. Blogları değiştirmek istiyorsanız özel feed'ler istemeden önce müşterinizin kimlik doğrulaması yapması gerekir. Şu iki 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 edinmek için kimlik doğrulama belgelerine bakın.

Bu belgenin sonraki bölümlerindeki örneklerin çoğu, uygun kimlik doğrulamasını sağladığınızı varsayar.

AuthSub proxy kimlik doğrulaması

AuthSub proxy kimlik doğrulaması, kullanıcılarının kimliklerini Google Hesaplarında doğrulaması gereken web uygulamaları tarafından kullanılır. Web sitesi operatörü ve istemci kodunun Blogger kullanıcısının kullanıcı adı ve şifresine erişimi yoktur. 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 dokümanlarına bakın.

Bir kullanıcı, uygulamanızı ilk kez ziyaret ettiğinde henüz kimliği doğrulanmamıştır. Bu durumda, 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örüntülemeniz gerekir.

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

sonraki
Google'ın, kimlik doğrulama işleminden 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/ şeklindedir (tabii ki URL olarak kodlanmış).
güvenli
İstemcinin güvenli bir jeton isteyip istemediğini gösterir.
oturum sayısı
Döndürülen jetonun, çok kullanımlık (oturum) jetonuyla değiştirilip değiştirilemeyeceğini gösterir.

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 site bağlantısını izler ve 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. Ö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ğinden bu yana, AuthSubSessionToken hizmetini Yetkilendirme başlığında tek kullanımlık jetonla çağırarak bu jeton aşağıdaki şekilde bir 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üre geçerli kalacağını gösteren bir Expiration üst bilgisi içerir.

Daha sonra 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 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 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 HTML formu tarafından geçirilen parametrelere benzeyen bir sorgu parametreleri grubu içermelidir. Bu parametreler şunlardır:

E-posta
Kullanıcının e-posta adresi.
Şifre
Kullanıcının şifresi.
hizmet
Blogger hizmetinin adı blogger şeklindedir. (Diğer hizmet adları için hizmet adı listesine bakın.)
accountType
Blogger API kullanılırken bu her zaman GOOGLE olarak ayarlanmalıdır. Bu parametrenin ayarlanmaması durumunda G Suite hesabı olan kullanıcıların da erişimi engellenir.
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 edinmek için Yüklü Uygulamalar İç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.

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, Blogger ile sonraki tüm etkileşimlerinizde Yetkilendirme başlığını aşağıdaki biçimi kullanarak 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 edinmek için Yüklü Uygulamalar İçin Kimlik Doğrulaması dokümanları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 belgelerinde açıklandığı gibi, kimlik doğrulama isteği başarısız olabilir ve bir CAPTCHA sorgulaması isteğinde bulunabilir. Google'ın CAPTCHA testini göndermesini ve işlemesini istiyorsanız kullanıcıyı, ClientLogin belgelerinde belirtilen CAPTCHA işleme URL'si yerine https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger adresine gönderin.

Blog listesi alınıyor

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

Blog 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 işlem, Blogger'a kimlik bilgileri isteğe eşlik eden kullanıcıya blog listesini döndürmesini söyler.

Meta feed'deki bir giriş aşağıdaki gibi 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 Veri 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 bilgiye Google Veri API'leri Protokol Referansı belgesinden de ulaşabilirsiniz.

Yayın oluşturma

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

Blog yayını paylaşma

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

Öncelikle, yayınlanacak yayının XML temsilini oluşturun. Bu XML'in Atom <entry> öğesi biçiminde olması gerekir. Bu öğe aşağıdaki gibi 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 yazar ayarlama ş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 aşağıdaki şekilde blogun yayın URL'sine 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, rel özelliğinin #post ile bittiği <link> öğesini bularak meta feed'de blogun 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, blog'un 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, ardından yeni yayının bir kopyasıyla birlikte <entry> öğesi biçiminde bir HTTP 201 CREATED durum kodu 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 öğeleri 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.

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 bulunan verilerin yes dizesi olması gerekir.

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

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

Yayınlar alınıyor

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

Blogger genel özet akışını kimlik doğrulaması olmadan sorgulayabilirsiniz. Bu nedenle, herkese açık bir blog'dan blog yayınlarını 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'un feed 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 adresine yönelik blog yayınlarının listesini almak için aşağıdaki HTTP isteğini Blogger'a gönderin (tabii blogID yerine uygun değeri kullanarak):

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 tek yayını olan bir blog feed'i örneği verilmiştir. İnsanlar tarafından daha okunaklı olması için bu örnekte küçük değişiklikler yaptığımıza dikkat edin. Özellikle, gerçek bir Blogger özet akışı 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, belirtilen ölçütlere uyan bir dizi giriş isteğinde bulunmanıza olanak tanır (ör. belirli bir tarih aralığında yayınlanmış veya güncellenmiş blog yayınlarını talep etme).

Örneğin, tarih aralığı sorgusu göndermek için published-min ve published-max parametrelerini istek URL'sine ekleyin. 16 Mart 2008 ile 24 Mart 2008 arasında oluşturulan tüm blog girişlerini almak için blogun yayın 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, HTTP 200 OK durum kodu ve belirttiğiniz tarih aralığında oluşturulmuş 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 aynı zamanda updated olarak ayarlanmadığı sürece bu parametrelerin yoksayılacağını unutmayın.

Blogger Data API, aşağıdaki sorgu parametrelerini destekler:

alt
Döndürülecek feed'in 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 etiketlerine sahip girişleri döndürür.
max-results
Döndürülecek maksimum giriş sayısı.
sıralama ölçütü
Girişlerin döndürüleceği sıra; örneğin lastmodified (varsayılan), starttime veya updated.
yayınlanan-minimum, yayınlanmış-maks.
Girişlerin yayınlanma tarihleriyle ilgili sınırlar
start-index
Alınacak ilk sonucun 1 tabanlı dizini (sayfalara ayırma için).
güncellenmiş-min., güncellenmiş-maks.
Giriş güncelleme tarihleriyle ilgili sınırlar Bu sorgu parametreleri, orderby parametresi updated olarak ayarlanmadığı sürece yoksayılır.

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

Yayınlar güncelleniyor

Mevcut bir blog yayınını güncellemek için önce güncellemek istediğiniz girişi alırsınız, ardından bu girişi değiştirirsiniz ve ardından yayının düzenleme URL'sine, güncellenmiş girişle birlikte ileti gövdesinde güncellenen bir PUT isteği gönderirsiniz. PUT eklediğiniz 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İ: İleriye dönük uyumluluk sağlamak için, güncellenmiş bir girişi PUT istediğinizde, girişi Blogger'dan aldığınız sırada mevcut olan tüm XML'i koruduğunuzdan emin olun. Aksi takdirde, yeni öğeler uyguladığımızda ve feed'e <new-awesome-feature> öğeleri eklediğimizde, müşteriniz bunları geri döndürmez ve kullanıcılarınız kaçırır. Google Data API istemci kitaplıklarının tümü bu işlemi doğru şekilde yapar. Dolayısıyla, hazırsınız demektir.

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

Sorun Giderme İpucu: Bazı güvenlik duvarları HTTP PUT mesajlarını engeller. Bunu önlemek için POST isteğine bir X-HTTP-Method-Override: PUT başlığı ekleyebilirsiniz. Ayrıntılar için Google Data API protokolüyle ilgili temel bilgiler belgesine göz atın.

Yayınlar siliniyor

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'dir.

Sorun Giderme İpucu: Bazı güvenlik duvarları HTTP DELETE mesajlarını engeller. Bunu önlemek için bir POST isteğine X-HTTP-Method-Override: DELETE üst bilgisi ekleyebilirsiniz. Ayrıntılar için Google Data API protokolüyle ilgili temel bilgiler belgesine göz atın.

Yorum sayısı

Blogger Data API, yorum oluşturulmasına, alınmasına ve silinmesine olanak tanır. Yorumların güncellenmesi desteklenmez (web arayüzünde de 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ıya ait bir bloga yorum gönderebilirsiniz.

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

Yorum alma

Bu gönderinin yorum feed'i URL'sine GET göndererek belirli bir yayına ilişkin yorumları alabilirsiniz:

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

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

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

Bu istekler, aşağıdaki gibi 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 siliniyor

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

Dışa aktarma biçimi

Blogger, kullanıcıların Blogger dışa aktarma dosyası kullanarak bloglarını dışa ve içe aktarmasına olanak tanır. Bu dışa aktarma dosyası, bir blogdaki tüm yayınları ve yorumları içerir. Dışa aktarma dosyasının biçimi, yayınların ve yorumların alınmasıyla ilgili bölümlerde açıklanan Atom biçimiyle tamamen 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.

Blog verilerini dışa aktarma biçimini kullanarak dışa 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 yönelik bir POST isteği oluşturun. Bu istek verilerinde dışa aktarma dosyasının içeriği, içerik türü olarak da application/atom+xml olacaktır:

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 yayın ve yorum girişlerinin sıralamasıyla ilgili şu an tek bir kısıtlama vardır. Blogger dışa aktarma dosyası önce tüm yayınları, ardından tüm yorumları listeler. Yayın ve yorum girişlerinin eklenmesine, yorum girişinin yorumun ilgili 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 edinmek için Protokol başvuru kılavuzuna bakın.

Başa dön