Przewodnik dla programistów: protokół

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

Aplikacja kliencka może używać interfejsu Blogger Data API do tworzenia nowych postów na blogu, edytowania i usuwania dotychczasowych postów oraz wysyłania zapytań dotyczących postów na blogu odpowiadających konkretnym kryteriom.

Znajdziesz w nim nie tylko informacje o możliwościach interfejsu API danych Bloggera, ale także przykłady podstawowych interakcji z interfejsem Data API za pomocą nieprzetworzonych plików XML i HTTPS. Po zapoznaniu się z tym dokumentem możesz dowiedzieć się więcej na temat interakcji z interfejsem API za pomocą naszych bibliotek klienta. Aby dowiedzieć się więcej, przeczytaj sekcje poświęcone językowi programowania w tym przewodniku.

Spis treści

Odbiorców

Ten dokument jest przeznaczony dla programistów, którzy chcą tworzyć aplikacje klienckie obsługujące interakcje z Bloggerem w formacie XML i HTTPS.

W tym dokumencie zakładamy, że rozumiesz ogólne pomysły związane z protokołem interfejsów API danych Google.

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

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

Pierwsze kroki

Tworzenie konta w Bloggerze

Jeśli chcesz, możesz założyć konto w Bloggerze na potrzeby testów. Blogger korzysta z kont Google, więc jeśli masz już konto Google, masz wszystko gotowe.

Autoryzowanie zapytań

Gdy aplikacja żąda niepublicznych danych użytkowników, 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 API GData Bloggera obsługuje też starsze opcje autoryzacji, takie jak OAuth 1.0, AuthSub lub ClientLogin, jednak w większości przypadków nie zalecamy korzystania z tych innych opcji. Jeśli aplikacja korzysta już z tych opcji, zalecamy przejście na OAuth 2.0.

Jeśli Twoja aplikacja ma określone nietypowe wymagania dotyczące autoryzacji, takie jak logowanie się w tym samym czasie co wysyłanie prośby o dostęp do danych (hybrydowy) lub przekazywanie dostępu 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.

Autoryzacja żądań przy użyciu protokołu OAuth 2.0

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

Szczegóły procesu autoryzacji lub protokołu OAuth 2.0 różnią się w zależności od rodzaju pisanej aplikacji. Ten proces ogólny dotyczy wszystkich typów aplikacji:

  1. Tworząc aplikację, zarejestruj ją w Google. Następnie Google przekazuje informacje, które są Ci później potrzebne, np. 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ę dostępu do niektórych danych.
  4. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji krótkoterminowy token dostępu.
  5. Twoja aplikacja żąda danych użytkownika, dołączając token dostępu do żądania.
  6. Jeśli Google uzna, że żądanie i token są prawidłowe, zwróci wymagane dane.

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

Informacje o zakresie OAuth 2.0 na potrzeby interfejsu API GData dla Bloggera:

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

Aby poprosić o dostęp przy użyciu protokołu OAuth 2.0, aplikacja musi podać informacje o zakresie oraz informacje, które Google udostępnia podczas rejestracji aplikacji (np. identyfikator klienta lub tajny klucz klienta).

Wskazówka: biblioteki klienta interfejsów API Google mogą obsługiwać niektóre procesy autoryzacji. Są dostępne w różnych językach programowania. Więcej szczegółów znajdziesz na stronie Biblioteki i przykłady.

Określanie wersji

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

Numer wersji możesz podać w nagłówku HTTP GData-Version:

GData-Version: 2

Jeśli nie możesz ustawić nagłówków HTTP, możesz też podać w adresie URL parametr v=2 jako parametr zapytania. Jednak tam, gdzie to możliwe, nagłówek HTTP jest preferowany.

Uwaga: biblioteki klienta automatycznie udostępniają 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 zapewnia kanał z listą blogów wybranego użytkownika. Ten kanał jest nazywany „"metafeed."

Aby pobrać listę blogów, wyślij HTTP GET na ten adres 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ć default identyfikatorem użytkownika, dzięki czemu Blogger będzie zwracał listę blogów użytkownika, którego dane logowania są powiązane z żądaniem.

Wpis w metadanych 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 tym, co oznacza każdy z tych elementów, znajdziesz w dokumentacji protokołu danych Google Data API lub w specyfikacji Atom 1.0.

Jeśli z jakiegoś powodu żądanie się nie powiedzie, Blogger może zwrócić inny kod stanu. Więcej informacji o kodach stanu HTTP znajdziesz też w dokumencie Protokół Google API.

Tworzenie postów

Interfejs API danych Bloggera umożliwia tworzenie i publikowanie nowych postów w blogach oraz tworzenie wersji roboczych wpisów.

Publikowanie posta na blogu

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

Najpierw utwórz plik XML z wpisem do opublikowania. 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: ustawianie niestandardowego autora postów jest obecnie niemożliwe. Wszystkie nowe wpisy będą wyglądać tak, jakby zostały utworzone przez aktualnie uwierzytelnionego użytkownika.

Aby opublikować ten wpis, prześlij go na adres URL posta na blogu w taki sposób: Najpierw umieść element Atom <entry> w nowym żądaniu POST za pomocą typu treści application/atom+xml. Następnie w metatagu znajdź adres URL posta na blogu, znajdując element <link>, gdzie atrybut rel kończy się ciągiem #post. URL posta na blogu jest atrybutem 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 pojawia się w sekcji <head> bloga w wersji czytelnej dla człowieka.

Blogger tworzy posta na blogu z przesłanym przez Ciebie wpisem, a następnie zwraca kod stanu HTTP 201 CREATED wraz z kopią nowego posta w elemencie <entry>. Zwrócony wpis to ten, który został przez Ciebie wysłany, ale zawiera też inne elementy dodane przez Bloggera, np. element <id>.

Jeśli z jakiegoś powodu żądanie się nie powiedzie, Blogger może zwrócić inny kod stanu. Więcej informacji o kodach stanu znajdziesz w dokumentacji referencyjnej protokołu API danych Google.

Tworzenie wersji roboczej posta na blogu

Wersje robocze postów są tworzone w taki sam sposób jak wpisy publiczne, ale z wpisem <app:control>, który oznacza, że post powinien zostać opublikowany.

Ten element <app:control> powinien zawierać jeden 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 element został rozpoznany jako wersja robocza, dane zawarte w elemencie <app:draft> muszą być ciągiem yes.

Możesz zmienić istniejącego posta na blogu w opublikowany post, pobierając wersję roboczą posta, ustawiając dla danych <app:draft> element w ciągu no i aktualizując post. Pobieranie i aktualizowanie postów jest opisane w kolejnych 2 sekcjach.

Uwaga: więcej informacji o protokołu publikowania Atom, w tym przestrzenie nazw <app:control> i <app:draft>, znajdziesz w dokumencie RFC 5023.

Pobieram posty

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

Do zapytań dotyczących publicznych kanałów Bloggera możesz wysyłać zapytania bez uwierzytelniania. W związku z tym nie musisz ustawiać parametru autoryzacji przy pobieraniu postów z bloga publicznego.

Pobieranie wszystkich postów na blogu

Aby pobrać posty użytkownika, wyślij żądanie HTTP GET na adres URL kanału bloga. Następnie zwraca kanał z odpowiednimi wpisami bloga. Aby na przykład uzyskać listę postów na blogu dla liz@gmail.com, wyślij następujące żądanie HTTP do Bloggera (oczywiście w miejscu blogID oczywiście):

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

Następnie 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 na blogu z tylko jednym postem. Zmieniliśmy trochę ten przykład, by czytelnicy mogli go łatwiej odczytać. W szczególności 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 z bloga

Jeśli chcesz pobrać post, który został przez Ciebie wcześniej pobrany, możesz zwiększyć skuteczność, informując Bloggera o wysyłaniu posta tylko wtedy, gdy od czasu jego ostatniego pobrania się zmienił.

Aby wykonać pobieranie warunkowe, wyślij żądanie HTTP GET z nagłówkiem HTTP If-None-Match. W nagłówku określ tag ETag, który znajdziesz w atrybucie gd:etag elementu <entry>.

Przykład:

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

Po otrzymaniu tego żądania Blogger sprawdza, czy żądana pozycja ma taki sam tag ETag jak określony przez Ciebie tag ETag. Jeśli tagi ETag pasują do siebie, wpis nie uległ zmianie, a Blogger zwraca kod stanu HTTP 304 Not Modified.

Jeśli tagi ETag nie pasują do siebie, wpis został zmodyfikowany od ostatniego żądania, a Blogger zwraca wpis.

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

Pobieranie postów z wykorzystaniem parametrów zapytania

Interfejs API danych Bloggera umożliwia żądanie zestawu wpisów spełniających określone kryteria, takich jak żądania postów opublikowanych na blogu lub opublikowanych w danym zakresie dat.

Aby na przykład wysłać zapytanie dotyczące zakresu dat, dodaj parametry published-min i published-max do adresu URL żądania. Aby uzyskać wszystkie wpisy w blogu utworzone między 16 marca 2008 roku a 24 marca 2008 roku, 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 żądanie GET, Blogger zwraca kod stanu HTTP 200 OK i kanał z wszelkimi postami na blogu utworzonymi w określonym zakresie dat.

Parametry updated-min i updated-max mogą być też używane do aktualizowania wszystkich wpisów bloga w danym zakresie. Pamiętaj jednak, że te parametry są ignorowane, chyba że parametr orderby ma też wartość updated.

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

alternatywnych
Typ pliku danych do zwrócenia, na przykład atom (domyślny) lub rss.
/category
Określa kategorie (nazywane też etykietami), aby filtrować wyniki pliku danych. Na przykład https://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie zwraca wpisy z etykietami Fritz i Laurie.
wyniki-maksymalne
Maksymalna liczba elementów do zwrócenia.
uporządkowane według
Kolejność, w jakiej będą zwracane wpisy, np. lastmodified (domyślnie), starttime lub updated.
opublikowanych, minut:-max
Limity dat publikacji wpisów.
indeks-początkowy
Indeks oparty na 1 pierwszym wyniku do pobrania (na potrzeby stronicowania).
update-min, update-max,
Ograniczenia dotyczące dat aktualizacji wpisu. Te parametry zapytania są ignorowane, chyba że parametr orderby jest ustawiony na updated.
ścieżka
Ścieżka bezpośrednia posta. Na przykład w przypadku posta z adresem URL http://Buzz.blogger.com/2011/08/bloggers-fresh-new-look.html ścieżka bezpośrednia to /2011/08/bloggers-fresh-new-look.html.
q
Ciąg tekstowy zapytania. Umożliwia to znajdowanie na blogu postów pasujących do zapytania.

Więcej informacji o parametrach zapytań znajdziesz w Przewodniku po interfejsach API danych Bloggera i w przewodniku po interfejsach Google Data API.

Aktualizowanie postów

Aby zaktualizować istniejący post na blogu, najpierw pobierz wpis, który chcesz zaktualizować, a następnie zmodyfikuj go, a następnie wyślij żądanie PUT ze zaktualizowanym wpisem w treści wiadomości do adresu URL edycji posta. Sprawdź, czy wartość <id> we wpisie PUT dokładnie odpowiada wartości <id> istniejącego wpisu.

Edytowany adres URL 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ć większą zgodność, pamiętaj, aby PUTzaktualizowany wpis zachował wszystkieplik XML dostępny podczas pobierania wpisu z Bloggera. Jeśli tego nie zrobisz, gdy wdrożymy nowe elementy i umieścimy w nim elementy <new-awesome-feature>, Twój klient ich nie zwróci. Biblioteki klienta interfejsu API danych Google obsługują wszystko prawidłowo, więc jeśli używasz jednej z bibliotek, które zostały skonfigurowane,

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 HTTP PUT. Aby obejść ten problem, możesz dołączyć nagłówek X-HTTP-Method-Override: PUT w żądaniu POST. Więcej informacji znajdziesz w dokumencie Podstawy protokołu danych Google.

Usuwanie postów

Aby usunąć posta, wyślij żądanie DELETE na adres URL edycji posta. Jest to ten sam adres URL 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 dołączyć nagłówek X-HTTP-Method-Override: DELETE w żądaniu POST. Więcej informacji znajdziesz w dokumencie Podstawy protokołu danych Google.

Komentarze

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

Tworzenie komentarzy

Aby opublikować komentarz, utwórz element Atom <entry> w ten sposób:

  <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 za pomocą typu 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 komentarze można publikować tylko na blogu należącym do uwierzytelnionego użytkownika.

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

Pobieranie komentarzy

Możesz pobrać komentarze do konkretnego posta, wysyłając GET pod ten adres URL kanału komentarzy:

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

Możesz też wyświetlić komentarze ze wszystkich postów, korzystając z adresu URL kanału komentarzy:

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

W ramach tych żądań zwracany jest kanał komentarzy:

<?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 żądanie DELETE na adres URL edycji komentarza. Ten URL jest wyróżniony powyżej w oknie 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 eksportu jest dokładnie taki sam jak format Atom opisany w sekcjach dotyczących pobierania postów i komentarzy. Ten plik będzie zawierał treści kanału z postami oraz zawartość pliku komentarzy w jednym dokumencie.

Aby wyeksportować lub zaimportować dane bloga w formacie eksportu, wejdź na stronę Ustawienia bloga. Aby pobrać plik eksportu dla bloga przy użyciu interfejsu API danych, 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 powyższych adresów URL nie obsługuje parametrów zapytania. Oba żądania muszą również zawierać informacje dotyczące uwierzytelniania i tylko administratorzy bloga będą mogli importować lub eksportować bloga za pomocą tych adresów URL kanału.

Uwaga: jeśli tworzysz własny plik eksportu Bloggera, obecnie istnieje jedno ograniczenie dotyczące kolejności postów i komentarzy. W pliku eksportu Bloggera są wymienione wszystkie posty, a potem wszystkie komentarze. Przeplatanie postów i komentarzy jest dozwolone, pod warunkiem, że komentarz znajduje się po postie, którego dotyczy komentarz.

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

Powrót do góry