Ö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'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></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) veyarss
). - /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
hemFritz
hem deLaurie
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
veyaupdated
). - 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
parametresiupdated
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'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></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.