Przewodnik dla programistów: protokół

Ważne: 30 września 2024 r. zakończymy obsługę interfejsu Google Data API w wersji 2.0. Aby zapewnić nieprzerwany dostęp do funkcji, zaktualizuj aplikacje, które korzystają z interfejsu Google Data API w wersji 2.0, do najnowszej wersji interfejsu API. Aby pobrać najnowszą wersję, użyj linków w pasku nawigacyjnym po lewej stronie. Uwaga: niektóre żądania GET (np. wyświetlanie postów) będą nadal obsługiwane jako adresy URL kanału, ale będą się one nieznacznie różnić pod względem działania. Szczegółowe informacje znajdziesz w dokumentacji Blogger Help.

Interfejs Blogger Data API umożliwia aplikacjom klienckim wyświetlanie i aktualizowanie treści Bloggera w postaci plików danych Google Data API.

Za pomocą interfejsu Blogger Data API aplikacja klienta może tworzyć nowe posty na blogu, edytować i usuwać istniejące posty oraz wysyłać zapytania o posty spełniające określone kryteria.

Ten dokument zawiera informacje o możliwościach interfejsu Data API w Bloggerze oraz przykłady podstawowych interakcji z interfejsem Data API za pomocą nieprzetworzonego kodu XML i protokołu HTTPS. Po przeczytaniu tego dokumentu możesz dowiedzieć się więcej o interakcjach z interfejsem API za pomocą naszych bibliotek klienta. Wystarczy, że przeczytasz sekcje dotyczące języka programowania w tym przewodniku dla programistów.

Spis treści

Odbiorcy

Ten dokument jest przeznaczony dla programistów, którzy chcą pisać aplikacje klienckie, które mogą wchodzić w interakcje z Bloggerem za pomocą XML i HTTPS.

W tym dokumencie zakładamy, że rozumiesz ogólne założenia protokołu interfejsów Google Data API.

Jeśli używasz systemu UNIX i chcesz wypróbować przykłady z tego dokumentu bez pisania kodu, przydatne mogą być narzędzia wiersza poleceń UNIX curl lub wget. Więcej informacji znajdziesz w instrukcji obsługi tych narzędzi.

Informacje referencyjne interfejsu Blogger Data API znajdziesz w przewodniku po protokole.

Pierwsze kroki

Tworzenie konta w Bloggerze

Możesz założyć konto Blogger na potrzeby testowania. Blogger korzysta z kont Google, więc jeśli masz już konto Google, nie musisz nic więcej robić.

Autoryzowanie zapytań

Gdy aplikacja żąda niepublicznych danych użytkownika, musi zawierać token autoryzacji. Token stanowi też dla Google identyfikator aplikacji.

Informacje o protokołach autoryzacji

Zalecamy autoryzowanie żądań za pomocą protokołu OAuth 2.0.

Interfejs API GData Bloggera obsługuje też starsze opcje autoryzacji, takie jak OAuth 1.0, AuthSub czy ClientLogin. W większości przypadków nie zalecamy jednak używania tych opcji. Jeśli Twoja aplikacja korzysta już z tych opcji, zalecamy przejście na protokół OAuth 2.0 (jeśli to możliwe).

Jeśli Twoja aplikacja ma pewne nietypowe wymagania dotyczące autoryzacji, takie jak logowanie w tym samym czasie, gdy żąda się dostępu do danych (hybryda) lub delegowanie uprawnień na całą domenę (2LO), nie możesz obecnie używać tokenów OAuth 2.0. W takich przypadkach musisz użyć tokenów OAuth 1.0.

Autoryzowanie żądań za pomocą protokołu OAuth 2.0

Żądania wysyłane do interfejsu Blogger GData API dotyczące niepublicznych danych użytkownika muszą być autoryzowane przez uwierzytelnionego użytkownika.

Szczegóły procesu autoryzacji z użyciem protokołu OAuth 2.0 różnią się nieznacznie w zależności od rodzaju projektowanej aplikacji. Do wszystkich typów aplikacji stosuje się ten ogólny proces:

  1. Gdy tworzysz aplikację, rejestrujesz ją w Google. Następnie Google przekazuje informacje, które są potrzebne później, takie jak identyfikator klienta i tajny klucz klienta.
  2. Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
  3. Google wyświetla użytkownikowi okno autoryzacji OAuth z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
  4. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  5. Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
  6. Jeśli Google uzna, że żądanie i token są prawidłowe, przesyła żądane dane.

Niektóre procesy obejmują dodatkowe kroki, takie jak wykorzystanie tokenów odświeżania do uzyskania nowych tokenów dostępu. Szczegółowe informacje o procesach obowiązujących w przypadku różnych typów aplikacji znajdziesz w dokumentacji Google na temat protokołu OAuth 2.0.

Oto zakres danych protokołu OAuth 2.0 dla interfejsu API GData w Bloggerze:

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

Aby poprosić o dostęp przy użyciu protokołu OAuth 2.0, aplikacja potrzebuje danych z zakresu oraz informacji przekazywanych przez Google po zarejestrowaniu aplikacji (takich jak identyfikator klienta i tajny klucz klienta).

Wskazówka: biblioteki klienta interfejsów API Google mogą wykonać niektóre procesy autoryzacji za Ciebie. Są dostępne dla różnych języków programowania. Więcej szczegółów znajdziesz na stronie z bibliotekami i próbkami.

Określanie wersji

Każde żądanie wysyłane za pomocą interfejsu Blogger Data API powinno określać wersję 2 interfejsu API.

Aby określić numer wersji, użyj nagłówka HTTP GData-Version:

GData-Version: 2

Jeśli nie możesz ustawić nagłówków HTTP, możesz podać parametr v=2 jako parametr zapytania w adresie URL. W miarę możliwości zaleca się jednak stosowanie nagłówka HTTP.

Uwaga: biblioteki klienta automatycznie podają odpowiednie nagłówki wersji, więc nie używaj parametru zapytania v=2, gdy korzystasz z biblioteki klienta.

Pobieranie listy blogów

Interfejs Blogger Data API udostępnia plik danych, który zawiera listę blogów danego użytkownika. Taki plik danych jest nazywany „metaplikiem danych”.

Aby pobrać listę blogów, wyślij żądanie HTTP GET na ten adres URL:

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

Identyfikator profilu to liczba w adresie URL strony profilu użytkownika.

Uwaga: możesz też użyć wartości default zamiast identyfikatora użytkownika, aby Blogger zwrócił listę blogów dla użytkownika, którego poświadczenia tożsamości towarzyszą żądaniu.

Wpis w metapliku może wyglądać tak:

<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>

Informacje o znaczeniu poszczególnych elementów znajdziesz w dokumentacji Google Data APIs Protocol Reference lub w specyfikacji Atom 1.0.

Jeśli z jakiegoś powodu nie uda się zrealizować żądania, Blogger może zwrócić inny kod stanu. Więcej informacji o kodach stanu HTTP znajdziesz też w dokumentacji [Google Data API] Reference (PL) [Dokumentacja interfejsów API Google Data API].

Tworzenie postów

Interfejs Blogger Data API umożliwia tworzenie i publikowanie nowych wpisów na blogu, a także tworzenie ich wersji roboczych.

Publikowanie posta na blogu

Po uwierzytelnieniu możesz publikować nowe wpisy w blogu.

Najpierw utwórz post w formacie XML, który chcesz opublikować. Plik XML musi mieć postać elementu Atom <entry>, który może wyglądać tak:

<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>

Uwaga: nie można obecnie ustawić niestandardowego autora postów. Wszystkie nowe posty będą wyglądać tak, jakby zostały utworzone przez aktualnie uwierzytelnionego użytkownika.

Aby opublikować ten wpis, prześlij go pod adresem URL posta na blogu w ten sposób: Najpierw umieść element Atom <entry> w treści nowej prośby POST, używając typu treści application/atom+xml. Następnie znajdź w metadanych adres URL wpisu na blogu, szukając elementu <link>, w którym atrybut rel kończy się na #post. Adres URL posta na blogu jest podawany jako atrybut href tego elementu w takim formacie:

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

Uwaga: ten adres URL jest taki sam jak adres URL w tagu <link rel="service.post">, który znajduje się w sekcji <head> w wersji bloga przeznaczonej do odczytu przez człowieka.

Blogger tworzy post na blogu, korzystając z przesłanego wpisu, a następnie zwraca kod stanu HTTP 201 CREATED oraz kopię nowego posta w postaci elementu <entry>. Zwrócony wpis jest taki sam jak wysłany, ale zawiera też różne elementy dodane przez Bloggera, takie jak element <id>.

Jeśli z jakiegoś powodu nie uda się zrealizować żądania, Blogger może zwrócić inny kod stanu. Informacje o kodach stanu znajdziesz w dokumentacji interfejsu Google Data API.

Tworzenie wersji roboczej posta na blogu

Posty w postaci szkicu są tworzone w taki sam sposób jak posty publiczne, ale z dodatkowym elementem <app:control>, który wskazuje, że post nie powinien (jeszcze) zostać opublikowany.

Ten element <app:control> powinien zawierać jako element podrzędny tylko jeden element <app:draft>:

<app:control xmlns:app='http://www.w3.org/2007/app'>
  <app:draft>yes</app:draft>
</app:control>

Aby wpis był rozpoznawany jako wersja robocza, dane zawarte w elemencie <app:draft> muszą być ciągiem znaków yes.

Aby zmienić istniejący opublikowany post na wersję roboczą, pobierz post, ustaw dane elementu <app:draft> na ciąg znaków no, a następnie zaktualizuj post. W następnych dwóch sekcjach omawiamy pobieranie i aktualizowanie postów.

Uwaga: więcej informacji o protokole Atom Publishing Protocol, w tym o przestrzeniach nazw <app:control> i <app:draft>, znajdziesz w dokumencie RFC 5023.

Pobieranie postów

W sekcjach poniżej znajdziesz instrukcje pobierania listy wpisów na blogu z parametrami zapytania i bez nich.

Możesz wysyłać zapytania do publicznego kanału Bloggera bez uwierzytelniania. Dlatego podczas pobierania postów z publicznego bloga nie musisz ustawiać parametru Authorization.

Pobieranie wszystkich wpisów na blogu

Aby pobrać wpisy użytkownika, wyślij żądanie HTTP GET do adresu URL kanału bloga. Blogger zwraca wtedy kanał zawierający odpowiednie wpisy na blogu. Aby na przykład uzyskać listę postów na blogu dla użytkownika liz@gmail.com, wyślij do Bloggera takie żądanie HTTP (z odpowiednią wartością zamiast blogID):

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

Następnie Blogger zwraca kod stanu HTTP 200 OK i standardowy kanał Atom 1.0 zawierający wpisy na blogu.

Poniżej znajdziesz przykład kanału dla bloga z jednym wpisem. Pamiętaj, że ten przykład został nieznacznie zmodyfikowany, aby był bardziej czytelny dla ludzi. Prawdziwy plik danych Bloggera zawiera m.in. rzeczywiste identyfikatory i adresy URL.

<?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>

Pobieranie posta na blogu ponownie

Jeśli chcesz pobrać post, który był już wcześniej pobierany, możesz zwiększyć wydajność, prosząc Bloggera o wysłanie posta tylko wtedy, gdy zmienił się on od ostatniego pobrania.

Aby wykonać takie wyszukiwanie warunkowe, wyślij żądanie HTTP GET, które zawiera nagłówek HTTP If-None-Match. W nagłówku podaj tag ETag wpisu, który znajdziesz w atrybucie <entry> elementu gd:etag.

Na przykład:

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

Gdy Blogger otrzyma tę prośbę, sprawdzi, czy wpis, którego dotyczy prośba, ma ten sam ETag, który został przez Ciebie podany. Jeśli tagi ETagi są zgodne, wpis nie uległ zmianie i Blogger zwraca kod stanu HTTP 304 Not Modified.

Jeśli tagi ETag się nie zgadzają, oznacza to, że wpis został zmodyfikowany od ostatniego żądania, a Blogger zwraca wpis.

Więcej informacji o eTagach znajdziesz w przewodniku po interfejsach Google Data API.

Pobieranie postów za pomocą parametrów zapytania

Interfejs Blogger Data API umożliwia żądanie zestawu wpisów, które odpowiadają określonym kryteriam, np. żądanie postów na blogu opublikowanych lub zaktualizowanych w określonym przedziale czasowym.

Aby na przykład wysłać zapytanie dotyczące zakresu dat, do adresu URL żądania dodaj parametry published-min i published-max. Aby uzyskać wszystkie wpisy na blogu utworzone między 16 marca 2008 r. a 24 marca 2008 r., wyślij żądanie HTTP do adresu URL kanału bloga:

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

Gdy prześlesz żądanie GET, Blogger zwróci kod stanu HTTP 200 OK i kanał zawierający wszystkie wpisy na blogu utworzone w określonym zakresie dat.

Parametry updated-min i updated-max mogą też służyć do uzyskiwania wszystkich wpisów na blogu z danego zakresu. Pamiętaj jednak, że te parametry są ignorowane, chyba że parametr orderby ma wartość updated.

Interfejs Blogger Data API obsługuje te parametry zapytania:

alternatywnych
Typ pliku danych do zwrócenia, np. atom (domyślny) lub rss.
/category
Określa kategorie (zwane też etykietami) służące do filtrowania wyników w pliku danych. Na przykład https://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie zwraca wpisy z etykietami Fritz i Laurie.
max-results
Maksymalna liczba wpisów do zwrócenia.
orderby
Kolejność zwracania wpisów, np. lastmodified (domyślnie), starttime lub updated.
published-min, published-max
Granice dat publikacji wpisów.
start-index
Indeks pierwszego wyniku, który ma zostać pobrany (dla pobierania stron).
updated-min, updated-max
Granice dat aktualizacji wpisów. Te parametry zapytania są ignorowane, chyba że parametr orderby ma wartość updated.
ścieżka
Ścieżka do linku bezpośredniego posta. Na przykład w przypadku wpisu o adresie URL http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html ścieżka linku bezpośredniego to /2011/08/bloggers-fresh-new-look.html.
q
Ciąg tekstowy zapytania. Dzięki temu możesz wyszukiwać na blogu posty pasujące do zapytania.

Więcej informacji o parametrach zapytań znajdziesz w przewodniku po interfejsie Blogger Data API oraz w przewodniku po interfejsach Google Data API.

Aktualizowanie postów

Aby zaktualizować istniejący wpis na blogu, najpierw pobierasz wpis, który chcesz zaktualizować, a potem go modyfikujesz. Następnie wysyłasz PUT z aktualizowanym wpisem w ciele wiadomości na adres URL edycji wpisu. Upewnij się, że wartość <id> w pliku PUT dokładnie odpowiada wartości <id> w dotychczasowym pliku.

Adres URL edycji jest wyróżniony na czerwono w tym wpisie:

<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>

WAŻNE: aby zapewnić zgodność wsteczną, pamiętaj, że podczas PUT zaktualizowanego wpisu zachowaj wszystkie elementy XML, które były obecne podczas pobierania wpisu z Bloggera. Jeśli nie, gdy wdrożymy nowe elementy i umieścimy w pliku danych <new-awesome-feature>, Twój klient nie zwróci tych elementów, a Twoi użytkownicy nie będą mogli z nich korzystać. Wszystkie biblioteki klienta interfejsu Google Data API obsługują to prawidłowo, więc jeśli używasz jednej z tych bibliotek, nie musisz nic więcej robić.

Uwaga: modyfikowanie danych autora powiązanych z postami nie jest obecnie obsługiwane.

Wskazówka dotycząca rozwiązywania problemów: niektóre zapory sieciowe blokują wiadomości HTTPPUT. Aby tego uniknąć, możesz dodać nagłówek X-HTTP-Method-Override: PUT do żądania POST. Szczegółowe informacje znajdziesz w dokumentacji interfejsu Google Data API dotyczącej podstaw protokołu.

Usuwanie postów

Aby usunąć post, wyślij DELETE do URL-a edycji posta. Jest to ten sam adres URL, który jest używany do aktualizowania postów.

Wskazówka dotycząca rozwiązywania problemów: niektóre zapory sieciowe blokują wiadomości HTTPDELETE. Aby tego uniknąć, możesz dodać nagłówek X-HTTP-Method-Override: DELETE do żądania POST. Szczegółowe informacje znajdziesz w dokumentacji interfejsu Google Data API dotyczącej podstaw protokołu.

Komentarze

Interfejs Blogger Data API umożliwia tworzenie, pobieranie i usuwanie komentarzy. Aktualizowanie komentarzy nie jest obsługiwane (nie jest też dostępne w interfejsie internetowym).

Tworzenie komentarzy

Aby opublikować komentarz, utwórz element Atom <entry>, na przykład:

  <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>

Aby opublikować ten komentarz, umieść element Atom <entry> w treści nowej prośby POST, używając typu treści application/atom+xml. Następnie wyślij POSTprośbę do odpowiedniego adresu URL Bloggera:

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

Uwaga: obecnie możesz dodawać komentarze tylko do bloga należącego do uwierzytelnionego użytkownika.

Uwaga: nie można obecnie ustawić niestandardowego autora komentarzy. Wszystkie nowe komentarze będą wyglądać tak, jakby zostały utworzone przez aktualnie uwierzytelnionego użytkownika.

Pobieranie komentarzy

Komentarze do konkretnego posta możesz pobrać, wysyłając GET do adresu URL kanału komentarzy do tego posta:

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

Możesz też pobrać komentarze ze wszystkich postów, korzystając z kanału komentarzy do bloga. Adres URL:

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

Te żądania zwracają plik danych z komentarzami, który wygląda tak:

<?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>

Usuwanie komentarzy

Aby usunąć komentarz, wyślij DELETE do adresu URL edycji komentarza. Ten adres URL jest wyróżniony w powyższym okienku komentarzy.

Format eksportu

Blogger umożliwia użytkownikom eksportowanie i importowanie blogów za pomocą pliku eksportu Bloggera. Ten plik eksportu zawiera wszystkie posty i komentarze z jednego bloga. Format pliku wyeksportowanego jest dokładnie taki sam jak format Atom opisany w sekcji dotyczących pobierania postów i komentarzy. Ten plik eksportu będzie zawierać połączone treści kanału postów i kanału komentarzy w jednym dokumencie.

Aby wyeksportować lub zaimportować dane bloga w formacie eksportu, otwórz stronę Ustawienia bloga. Aby pobrać plik eksportu bloga za pomocą interfejsu Data API, użyj tego adresu URL:

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

Aby zaimportować plik wyeksportowany, utwórz żądanie POST do tego adresu URL, podając jako dane żądania zawartość pliku wyeksportowanego, a jako typ treści application/atom+xml:

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

Żaden z adresów URL nie obsługuje parametrów zapytania. Oba żądania muszą też zawierać informacje o uwierzytelnianiu. Tylko administratorzy bloga będą mogli importować i eksportować bloga za pomocą tych adresów URL.

Uwaga: jeśli tworzysz własny plik eksportu z Bloggera, obecnie obowiązuje jedno ograniczenie dotyczące kolejności wpisów w postach i komentarzach. Plik eksportu Bloggera zawiera najpierw listę wszystkich postów, a potem wszystkich komentarzy. Dopuszczamy przeplatanie wpisów z postami i komentarzami, o ile komentarz pojawia się po wpisie, do którego się odnosi.

Więcej informacji o tym, jak Blogger używa formatu Atom w pliku wyeksportowanym, znajdziesz w przewodniku po protokole.

Powrót do góry