Przewodnik dla programistów: protokół

Ważne: 30 września 2024 r. przestaniemy obsługiwać interfejs Google Data API w wersji 2.0. Aby zapewnić niezakłócone działanie, zaktualizuj do najnowszej wersji interfejs API danych Google w aplikacjach, które korzystają z interfejsu Google Data API w wersji 2.0. Aby uzyskać dostęp do najnowszej wersji, użyj linków na pasku nawigacyjnym po lewej stronie. Uwaga: chociaż niektóre żądania GET (np. posty z listami produktów) będą nadal obsługiwane jako adresy URL kanałów, występują drobne różnice w ich działaniu. Szczegółowe informacje znajdziesz w Centrum pomocy Bloggera.

Interfejs API danych Bloggera umożliwia aplikacjom klienckim wyświetlanie i aktualizowanie treści z Bloggera w postaci kanałów interfejsu Google Data API.

Twoja aplikacja kliencka może używać interfejsu API danych Bloggera do tworzenia nowych postów na blogu, edytowania i usuwania istniejących oraz wysyłania zapytań dotyczących postów na blogu spełniających określone kryteria.

Oprócz wyjaśnienia funkcji interfejsu Blogger Data API w tym dokumencie znajdziesz również przykłady podstawowych interakcji z interfejsem Data API opartym na formacie XML i HTTPS. Z tego dokumentu dowiesz się więcej o interakcji z interfejsem API za pomocą naszych bibliotek klienckich w sekcjach tego przewodnika dla programistów, które są poświęcone konkretnym językom programowania.

Spis treści

Odbiorcy

Ten dokument jest przeznaczony dla programistów tworzących aplikacje klienckie, które mogą współdziałać z Bloggerem za pomocą języka XML i HTTPS.

W tym dokumencie zakładamy, że znasz ogólne idee protokołu interfejsów API danych Google.

Jeśli używasz systemu UNIX i chcesz wypróbować przykłady w tym dokumencie bez pisania żadnego kodu, mogą Ci się przydać narzędzia wiersza poleceń curl lub wget w systemie UNIX. Więcej informacji znajdziesz na stronach z instrukcjami tych narzędzi.

Informacje o interfejsie API danych Bloggera znajdziesz w Przewodniku po protokołach.

Wprowadzenie

Tworzenie konta Bloggera

Do celów testowych możesz założyć konto w Bloggerze. Blogger korzysta z kont Google, więc jeśli już je masz, nie musisz nic więcej robić.

Autoryzowanie zapytań

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

Informacje o protokołach autoryzacji

Do autoryzowania żądań zalecamy używanie protokołu OAuth 2.0.

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

Jeśli Twoja aplikacja ma nietypowe wymagania dotyczące autoryzacji, takie jak logowanie się w tym samym czasie co z prośbą o dostęp do danych (hybrydowy) lub przekazywanie uprawnień w całej domenie (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 użytkownika.

Szczegóły procesu autoryzacji z użyciem protokołu OAuth 2.0 różnią się nieco w zależności od rodzaju 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 OAuth z prośbą o autoryzację aplikacji do żądania niektórych danych.
  4. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  5. Twoja 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, zwraca żą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 dla różnych typów aplikacji znajdziesz w dokumentacji Google dotyczącej protokołu OAuth 2.0.

Oto informacje o zakresie OAuth 2.0 dla interfejsu GData API Bloggera:

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

Aby poprosić o dostęp za pomocą protokołu OAuth 2.0, aplikacja potrzebuje informacji z zakresu oraz danych przekazywanych przez Google podczas rejestracji aplikacji (takich jak identyfikator klienta lub tajny klucz klienta).

Wskazówka: biblioteki klienta interfejsów API Google mogą wykonać część procesu autoryzacji za Ciebie. Są dostępne w różnych językach programowania. Więcej informacji znajdziesz na stronie Biblioteki i przykłady.

Określanie wersji

Każde żądanie, które wysyłasz za pomocą interfejsu Blogger Data API, powinno określać jego wersję 2.

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

GData-Version: 2

Jeśli nie możesz ustawić nagłówków HTTP, jako parametr zapytania w adresie URL możesz określić v=2. Jednak w miarę możliwości preferowany jest nagłówek HTTP.

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

Pobieranie listy blogów

Interfejs API danych Bloggera umożliwia dostęp do kanału z listą blogów danego użytkownika. Taki kanał jest nazywany „metakanałem”.

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

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

Gdzie identyfikator profilu to numer w adresie URL strony profilu użytkownika.

Uwaga: możesz też zastąpić identyfikator użytkownika default identyfikatorem użytkownika, dzięki czemu Blogger ma zwrócić listę dzienników użytkownika, którego dane logowania dołączono do żądania.

Wpis w metatagu 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 tych elementów znajdziesz w dokumentach z opisem protokołu Google Data APIs Protocol lub specyfikacji Atom 1.0.

Jeśli z jakiegoś powodu żądanie nie zostanie zrealizowane, Blogger może zwrócić inny kod stanu. Więcej informacji o kodach stanu HTTP znajdziesz też w dokumencie Google Data APIs Protocol Reference (Omówienie protokołu interfejsów API danych Google).

Tworzenie postów

Interfejs API danych Bloggera umożliwia tworzenie i publikowanie nowych wpisów na blogu oraz ich wersje robocze.

Publikowanie posta na blogu

Po uwierzytelnieniu możesz opublikować nowe wpisy na blogu.

Najpierw utwórz reprezentację XML posta do opublikowania. Ten kod 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: ustawianie niestandardowego autora postów nie jest obecnie obsługiwane. Wszystkie nowe posty będą wyświetlane tak, jakby zostały utworzone przez aktualnie uwierzytelnionego użytkownika.

Aby opublikować ten wpis, wyślij go na adres URL posta na blogu w następujący sposób. Najpierw umieść element Atom <entry> w treści nowego żądania POST, korzystając z typu treści application/atom+xml. Następnie w metatagu znajdź adres URL posta na blogu, odnajdując element <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> bloga w wersji czytelnej dla człowieka.

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

Jeśli z jakiegoś powodu żądanie nie zostanie zrealizowane, Blogger może zwrócić inny kod stanu. Informacje o kodach stanu znajdziesz w dokumentacji protokołu Google Data API.

Tworzenie wersji roboczej posta na blogu

Wersje robocze postów są tworzone w taki sam sposób jak posty publiczne, ale z dodawanym do nich elementem <app:control> wskazującym, że post nie powinien (jeszcze) zostać opublikowany.

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

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

Aby post został rozpoznany jako wersja robocza, dane zawarte w elemencie <app:draft> muszą być ciągiem yes.

Aby przekształcić istniejącego posta w wersji roboczej w opublikowany post na blogu, pobierz wersję roboczą posta, ustaw dane elementu <app:draft> na ciąg no, a następnie zaktualizuj posta. Pobieram i aktualizuj posty w następnych dwóch sekcjach.

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

Pobieram posty

Poniżej opisujemy, jak pobrać listę postów na blogu z parametrami zapytania i bez nich.

Możesz wysyłać zapytania do publicznego kanału Bloggera bez uwierzytelniania. Dzięki temu nie musisz ustawiać parametru autoryzacji, gdy pobierasz posty z bloga publicznego.

Pobieranie wszystkich postów z bloga

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

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

Blogger zwraca kod stanu HTTP 200 OK i standardowy kanał Atom 1.0 zawierający posty na blogu.

Poniżej znajduje się przykład kanału bloga z tylko jednym postem. Zwróć uwagę, że nieco zmodyfikowaliśmy ten przykład, aby był bardziej czytelny dla użytkowników. Szczególnie prawdziwy kanał Bloggera zawiera 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>

Ponowne pobieranie posta na blogu

Jeśli chcesz pobrać post, który został już pobrany, możesz przyspieszyć pracę, zezwalając Blogger na wysyłanie tylko tych postów, które zmieniły się od czasu ostatniego pobrania.

Tego rodzaju pobieranie warunkowe wymaga wysłania żądania HTTP GET z nagłówkiem HTTP If-None-Match. W nagłówku podaj ETag wpisu, który znajdziesz w atrybucie gd:etag elementu <entry>.

Na przykład:

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

Gdy Blogger otrzyma to żądanie, sprawdzi, czy żądany wpis ma taki sam tag ETag jak określony przez Ciebie tag ETag. Jeśli tagi ETag są zgodne, wpis nie uległ zmianie, a Blogger zwraca kod stanu HTTP 304 Not Modified.

Jeśli tagi ETagów nie są zgodne, oznacza to, że wpis został zmodyfikowany od czasu ostatniego żądania tego parametru, a Blogger go zwróci.

Więcej informacji o tagach ETag znajdziesz w przewodniku po interfejsach API danych Google.

Pobieranie postów przy użyciu parametrów zapytania

Interfejs API danych Bloggera umożliwia żądanie zbioru wpisów spełniających określone kryteria – na przykład żądań publikowania lub aktualizacji postów na blogu w danym zakresie dat.

Aby np. wysłać zapytanie dotyczące zakresu dat, dodaj do adresu URL żądania parametry published-min i published-max. Aby pobrać wszystkie wpisy na blogu utworzone między 16 marca 2008 r. a 24 marca 2008 r., wyślij żądanie HTTP na adres 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 wyślesz to żądanie GET, Blogger zwróci kod stanu HTTP 200 OK i kanał zawierający wszystkie posty na blogu utworzone w podanym przez Ciebie zakresie dat.

Parametrów updated-min i updated-max można też używać do aktualizowania wszystkich wpisów na blogu w danym zakresie. Pamiętaj jednak, że te parametry są ignorowane, chyba że parametr orderby też ma wartość updated.

Interfejs API danych Bloggera obsługuje następujące parametry zapytania:

alternatywnych
Typ pliku danych do zwrócenia, np. atom (domyślny) lub rss.
/category
Określa kategorie (nazywane również etykietami) służące do filtrowania wyników z 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, na przykład lastmodified (domyślna), starttime lub updated.
Opublikowano min., Opublikowano-Maks.
Zakres dat publikacji.
start-index
Indeks zaczynający się od 1, który dotyczy pierwszego wyniku, który ma zostać pobrany (na potrzeby stronicowania).
zaktualizowano-min, zaktualizowano-maks
Ograniczenia dotyczące dat aktualizacji wpisów. Te parametry zapytania są ignorowane, chyba że parametr orderby ma wartość updated.
ścieżka
Ścieżka linku bezpośredniego dla posta. Na przykład w przypadku posta z adresem URL http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html ścieżka linku bezpośredniego ma postać /2011/08/bloggers-fresh-new-look.html.
q
Pełny tekst 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 API danych Bloggera i w przewodniku po interfejsach API danych Google.

Aktualizuję posty

Aby zaktualizować istniejący post na blogu, najpierw pobierz wpis, który chcesz zaktualizować, następnie go zmodyfikuj, a następnie wyślij żądanie PUT ze zaktualizowanym wpisem w treści wiadomości na adres URL edycji. Upewnij się, że wartość <id> we wpisie PUT jest dokładnie taka sama jak wartość <id> istniejącego wpisu.

Adres URL edycji jest wyróżniony w tym wierszu:

<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ść z wyprzedzeniem, pamiętaj, aby podczas PUT zaktualizowanego wpisu zachować cały plik XML znajdujący się podczas pobierania wpisu z Bloggera. W przeciwnym razie, gdy wdrożymy nowe elementy i dodamy do pliku danych elementy <new-awesome-feature>, Twój klient ich nie zwróci, a użytkownicy nie będą tego widzieć. Biblioteki klienta interfejsu Google Data API obsługują to prawidłowo, więc jeśli używasz jednej z bibliotek, nie musisz nic więcej robić.

Uwaga: obecnie nie można modyfikować danych o autorze powiązanych z postami.

Wskazówka dotycząca rozwiązywania problemów: niektóre zapory sieciowe blokują wiadomości HTTP PUT. Aby obejść ten problem, możesz umieścić w żądaniu POST nagłówek X-HTTP-Method-Override: PUT. Więcej informacji znajdziesz w dokumencie z podstawowymi informacjami o protokole Google Data API.

Usuwam posty

Aby usunąć posta, wyślij prośbę o DELETE na adres URL, pod którym ten post ma być edytowany. 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 HTTP DELETE. Aby obejść ten problem, możesz umieścić w żądaniu POST nagłówek X-HTTP-Method-Override: DELETE. Więcej informacji znajdziesz w dokumencie z podstawowymi informacjami o protokole Google Data API.

Komentarze

Interfejs API danych Bloggera umożliwia tworzenie, pobieranie i usuwanie komentarzy. Aktualizowanie komentarzy nie jest obsługiwane (ani w interfejsie internetowym).

Tworzenie komentarzy

Aby opublikować komentarz, utwórz element Atom <entry> podobny do tego:

  <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 nowego żądania POST z typem treści application/atom+xml. Następnie wyślij żądanie POST na odpowiedni adres URL Bloggera:

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

Uwaga: obecnie możesz publikować komentarze tylko na blogu należącym do uwierzytelnionego użytkownika.

Uwaga: ustawianie niestandardowego autora komentarzy nie jest obecnie obsługiwane. Wszystkie nowe komentarze będą wyświetlane tak, jakby zostały utworzone przez aktualnie uwierzytelnionego użytkownika.

Pobieranie komentarzy

Aby pobrać komentarze do konkretnego posta, wyślij instrukcję GET na adres URL kanału komentarzy pod tym postem:

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

Możesz też pobrać komentarze do wszystkich postów, używając adresu URL kanału komentarzy na blogu:

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

Te żądania zwracają kanał komentarzy podobny do tego:

<?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 prośbę o DELETE na adres URL jego edycji. Ten adres URL jest wyróżniony w sekcji komentarzy powyżej.

Format eksportu

Blogger pozwala użytkownikom eksportować i importować blogi za pomocą pliku eksportu Bloggera. Ten plik eksportu zawiera wszystkie posty i komentarze z jednego bloga. Format pliku eksportu ma dokładnie taki sam format Atom, jaki jest opisany w sekcjach dotyczących pobierania postów i komentarzy. Ten eksport będzie zawierał całą zawartość kanału postów i kanału komentarzy połączone w jeden dokument.

Aby wyeksportować lub zaimportować dane bloga przy użyciu formatu eksportu, otwórz jego stronę Ustawienia. Aby pobrać plik eksportu dla bloga przy użyciu interfejsu Data API, użyj tego adresu URL:

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

Aby zaimportować plik eksportu, utwórz żądanie POST na ten adres URL, podając zawartość pliku eksportu jako dane żądania i application/atom+xml jako typ treści:

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

Żaden z adresów URL podanych powyżej nie obsługuje parametrów zapytania. Oba żądania muszą też zawierać informacje uwierzytelniające, a tylko administratorzy bloga będą mogli importować i eksportować bloga przy użyciu tych adresów URL kanałów.

Uwaga: w przypadku tworzenia własnego pliku eksportu Bloggera obowiązuje obecnie jedno ograniczenie dotyczące kolejności wpisów i komentarzy. W pliku eksportu Bloggera pojawią się najpierw wszystkie posty, a następnie wszystkie komentarze. Przeplatanie postów i komentarzy jest dozwolone, o ile treść komentarza następuje po nim, którego dotyczy dany komentarz.

Więcej informacji o tym, jak Blogger używa formatu Atom w pliku eksportu, znajdziesz w Przewodniku po protokołach.

Powrót do góry