Ważne: 30 września 2024 r. zakończymy obsługę interfejsu JSON API w wersji 2.0. Aby zapewnić nieprzerwany dostęp do funkcji, zaktualizuj aplikacje, które korzystają z interfejsu JSON API w wersji 2.0, do najnowszej wersji interfejsu API. Aby pobrać najnowszą wersję, użyj linków w pasku nawigacyjnym po lewej stronie.
W tym dokumencie opisujemy, jak używać typowych funkcji interfejsu Blogger JSON API w stylu wywoływania RESTful.
Spis treści
Wprowadzenie
Ten dokument jest przeznaczony dla deweloperów, którzy chcą pisać aplikacje, które mogą wchodzić w interakcje z interfejsem Blogger JSON API. Blogger to narzędzie do tworzenia witryn, które umożliwiają użytkownikom publikowanie swoich przemyśleń na bieżąco.
Jeśli nie znasz koncepcji Bloggera, przed rozpoczęciem kodowania przeczytaj Wprowadzenie.
Autoryzowanie żądań i identyfikowanie aplikacji
Każde żądanie wysyłane przez aplikację do interfejsu Blogger JSON API musi identyfikować Twoją aplikację w Google. Aplikację można zidentyfikować na 2 sposoby: za pomocą tokena OAuth 2.0 (który autoryzuje żądanie) lub za pomocą klucza interfejsu API aplikacji. Aby zdecydować, które z nich wybrać:
- Jeśli żądanie wymaga autoryzacji (np. żądanie prywatnych danych osoby), aplikacja musi przekazać token OAuth 2.0 w ramach żądania. Aplikacja może też podać klucz interfejsu API, ale nie musi tego robić.
- Jeśli żądanie nie wymaga autoryzacji (np. żądanie publicznych danych), aplikacja musi podać klucz API lub token OAuth 2.0 albo oba te elementy – w zależności od tego, co jest wygodniejsze.
Informacje o protokołach autoryzacji
Twoja aplikacja musi autoryzować żądania za pomocą protokołu OAuth 2.0. Inne protokoły nie są obsługiwane.
Uwaga: interfejs Blogger JSON API nie obsługuje obecnie logowania w tym samym czasie co żądanie dostępu do danych (hybryda) ani delegowania uprawnień na całą domenę (2LO).
Autoryzowanie żądań za pomocą protokołu OAuth 2.0
Żądania wysyłane do interfejsu Blogger JSON 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:
- 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.
- W panelu Usługi w Konsoli interfejsów API Google aktywuj interfejs Blogger JSON API. (jeśli nie ma go na liście w konsoli, pomiń ten krok).
- Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
- Google wyświetla użytkownikowi okno autoryzacji OAuth z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
- Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
- Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
- 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 Blogger JSON API:
https://www.googleapis.com/auth/blogger
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.
Uzyskiwanie i używanie klucza interfejsu API
Żądaniom przesyłanym do interfejsu Blogger JSON API w celu uzyskania danych publicznych musi towarzyszyć identyfikator, którym może być klucz interfejsu API lub token autoryzacji.
Aby uzyskać klucz interfejsu API, otwórz Konsolę interfejsów API. W panelu Usługi aktywuj [api_name]; jeśli pojawią się Warunki korzystania z usługi, przeczytaj je i zaakceptuj.
Następnie otwórz panel Dostęp do interfejsu API. Klucz interfejsu API znajduje się u dołu tego panelu w sekcji „Simple API Access” (Prosty dostęp do interfejsu API).
Gdy uzyskasz klucz interfejsu API, Twoja aplikacja będzie mogła dołączać parametry zapytania key=yourAPIKey
do adresów URL wszystkich żądań.
Klucz interfejsu API można bezpiecznie umieszczać w adresach URL, więc nie trzeba go kodować.
Blogi
Pobieranie bloga
Aby pobrać informacje o konkretnym zasobie bloga, wyślij żądanie HTTPGET
do jego identyfikatora URI. Identyfikator URI zasobu Blogi ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY
Aby pobrać publiczny blog, użytkownik nie musi się uwierzytelnić, więc nie musisz podawać nagłówka HTTP Authorization
w żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP
200 OK
i danymi bloga:
200 OK { "kind": "blogger#blog", "id": "2399953", "name": "Blogger Buzz", "description": "The Official Buzz from Blogger at Google", "published": "2007-04-23T22:17:29.261Z", "updated": "2011-08-02T06:01:15.941Z", "url": "http://buzz.blogger.com/", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953", "posts": { "totalItems": 494, "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts" }, "pages": { "totalItems": 2, "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/pages" }, "locale": { "language": "en", "country": "", "variant": "" } }
Pobieranie blogów użytkownika
Listę blogów użytkownika możesz pobrać, wysyłając żądanie HTTP GET
do URI kolekcji blogów:
https://www.googleapis.com/blogger/v2/users/userId/blogs
Żądanie
Oto przykład żądania GET
, które zawiera listę blogów użytkownika:
GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */
Uwaga: aby użytkownik mógł wyświetlić listę swoich blogów, musi zostać uwierzytelniony. W prośbie GET
musisz więc podać nagłówek HTTP Authorization
.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP 200 OK
i pełną reprezentacją listy blogów użytkownika:
200 OK { "kind": "blogger#blogList", "items": [ { "kind": "blogger#blog", "id": "4967929378133675647", "name": "Brett's Test Blawg", "description": "", "published": "2010-10-06T23:33:31.662Z", "updated": "2011-08-08T06:50:02.005Z", "url": "http://brettmorgan-test-blawg.blogspot.com/", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647", "posts": { "totalItems": 13, "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/posts" }, "pages": { "totalItems": 1, "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages" }, "locale": { "language": "en", "country": "", "variant": "" } } ] }
Praca z postami
Pobieranie postów z bloga
Listę postów z danego bloga możesz pobrać, wysyłając żądanie GET
do identyfikatora URI kolekcji postów. Identyfikator URI zbioru postów ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY
Użytkownik nie musi się uwierzytelniać, aby pobrać posty z publicznego bloga, więc nie musisz podawać nagłówka HTTP Authorization
w żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP200 OK
i listą postów:
200 OK { "kind": "blogger#postList", "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ", "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ", "items": [ { "kind": "blogger#post", "id": "7706273476706534553", "blog": { "id": "2399953" }, "published": "2011-08-01T19:58:00.000Z", "updated": "2011-08-01T19:58:51.947Z", "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553", "title": "Latest updates, August 1st", "content": "elided for readability", "author": { "id": "401465483996", "displayName": "Brett Wiltshire", "url": "http://www.blogger.com/profile/01430672582309320414", "image": { "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png" } }, "replies": { "totalItems": "0", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments" } }, { "kind": "blogger#post", "id": "6069922188027612413", elided for readability } ] }
Pobieranie konkretnego posta
Możesz pobrać konkretny post z bloga, wysyłając żądanie GET
do identyfikatora URI zasobu Post. Identyfikator URI zasobu Post ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY
Użytkownik nie musi się uwierzytelniać, aby pobrać posty z publicznego bloga, więc nie musisz podawać nagłówka HTTP Authorization
w żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie się powiedzie, serwer odpowie kodem stanu HTTP 200 OK
i treścią posta:
200 OK { "kind": "blogger#post", "id": "7706273476706534553", "blog": { "id": "2399953" }, "published": "2011-08-01T19:58:00.000Z", "updated": "2011-08-01T19:58:51.947Z", "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553", "title": "Latest updates, August 1st", "content": "elided for readability", "author": { "id": "401465483996", "displayName": "Brett Wiltshire", "url": "http://www.blogger.com/profile/01430672582309320414", "image": { "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png" } }, "replies": { "totalItems": "0", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments" } }
Praca z komentarzami
Pobieranie komentarzy do posta
Aby pobrać listę komentarzy do postu, wyślij żądanie GET
do identyfikatora URI zbioru komentarzy. Adres URI zbioru komentarzy ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY
Aby pobrać komentarze z publicznego bloga, użytkownik nie musi się uwierzytelniać, dlatego nie musisz dołączać do tego żądania nagłówka HTTP Authorization
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.GET
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP 200 OK
i listą komentarzy:
200 OK { "kind": "blogger#commentList", "nextPageToken": "CgkIFBDwjvDXlyYQ0b2SARj9mZe9n8KsnlQ", "prevPageToken": "CgkIFBisvMGRlyYQ0b2SARj9mZe9n8KsnlQ", "items": [ { "kind": "blogger#comment", "id": "9200761938824362519", "post": { "id": "6069922188027612413" }, "blog": { "id": "2399953" }, "published": "2011-07-28T19:19:57.740Z", "updated": "2011-07-28T21:29:42.015Z", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519", "content": "elided", "author": { "id": "530579030283", "displayName": "elided", "url": "elided", "image": { "url": "elided" } } }, { "kind": "blogger#comment", "id": "400101178920857170", elided for readability } ] }
Pobieranie konkretnego komentarza
Aby pobrać konkretny komentarz z postu, wyślij prośbę GET
do identyfikatora URI zasobu komentarzy. Identyfikator URI zasobu komentarzy ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY
Aby pobrać komentarze z publicznego bloga, użytkownik nie musi się uwierzytelniać, dlatego nie musisz dołączać do tego żądania nagłówka HTTP Authorization
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.GET
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP
200 OK
i danymi komentarza:
200 OK { "kind": "blogger#comment", "id": "9200761938824362519", "post": { "id": "6069922188027612413" }, "blog": { "id": "2399953" }, "published": "2011-07-28T19:19:57.740Z", "updated": "2011-07-28T21:29:42.015Z", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519", "content": "elided", "author": { "id": "530579030283", "displayName": "elided", "url": "elided", "image": { "url": "elided" } } }
Praca z Google Sites
Pobieranie stron bloga
Listę stron bloga możesz pobrać, wysyłając GET
do identyfikatora URI kolekcji stron. Adres URI kolekcji stron ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/pages
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY
Użytkownik nie musi się uwierzytelnić, aby pobrać strony z publicznego bloga, więc nie musisz podawać nagłówka HTTP Authorization
w żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz API.
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP200 OK
i listą stron:
200 OK { "kind": "blogger#pageList", "items": [ { "kind": "blogger#page", "id": "273541696466681878", "blog": { "id": "4967929378133675647" }, "published": "2011-07-14T16:16:00.000Z", "updated": "2011-07-14T16:16:23.602Z", "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878", "title": "Static Content", "content": "elided for readability", "author": { "id": "901569848744", "displayName": "brett", "url": "http://www.blogger.com/profile/16258312240222542576", "image": { "url": "https://resources.blogblog.com/img/b16-rounded.gif" } } } ] }
Pobieranie konkretnej strony
Możesz pobrać konkretną stronę z bloga, wysyłając GET
do identyfikatora URI zasobu strony. Identyfikator URI zasobu Pages ma ten format:
https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId
Żądanie
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY
Użytkownik nie musi się uwierzytelnić, aby pobrać strony z publicznego bloga, więc nie musisz podawać nagłówka HTTP Authorization
w żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz API.
Blogger oferuje też blogi prywatne, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP
200 OK
i danymi strony:
200 OK { "kind": "blogger#page", "id": "273541696466681878", "blog": { "id": "4967929378133675647" }, "published": "2011-07-14T16:16:00.000Z", "updated": "2011-07-14T16:16:23.602Z", "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html", "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878", "title": "Static Content", "content": "elided for readability", "author": { "id": "901569848744", "displayName": "brett", "url": "http://www.blogger.com/profile/16258312240222542576", "image": { "url": "https://resources.blogblog.com/img/b16-rounded.gif" } } }
Praca z użytkownikami
Pobieranie użytkownika
Informacje o użytkowniku możesz pobrać, wysyłając żądanie HTTP GET
do URI zasobu Użytkownicy:
https://www.googleapis.com/blogger/v2/users/userId
Żądanie
Oto przykład żądania GET
, które zawiera listę blogów użytkownika:
GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */
Uwaga: aby użytkownik mógł podać swoje dane, musi zostać uwierzytelniony, dlatego w żądaniu GET
musisz podać nagłówek HTTP Authorization
.
Odpowiedź
Jeśli żądanie zakończy się powodzeniem, serwer odpowie kodem stanu HTTP 200 OK
i linkiem do listy blogów użytkownika:
200 OK { "kind": "blogger#user", "id": "901569848744", "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744", "blogs": { "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744/blogs" } }
Standardowe parametry zapytania
Podanych niżej parametrów zapytania można używać we wszystkich metodach i zasobach interfejsów API Bloggera.
Parametry zapytania, które mają zastosowanie do wszystkich operacji interfejsów API Bloggera, są opisane w sekcji Parametry systemowe.