Ważne: 30 września 2024 r. przestaniemy obsługiwać interfejs JSON API w wersji 2.0. Aby zapewnić nieprzerwaną funkcjonalność, zaktualizuj aplikacje, które korzystają z interfejsu JSON API w wersji 2.0, do najnowszej wersji. Aby uzyskać dostęp do najnowszej wersji, użyj linków na pasku nawigacyjnym po lewej stronie.
W tym dokumencie opisujemy, jak korzystać z typowych funkcji interfejsu JSON API Bloggera z wykorzystaniem stylu wywołania RESTowego.
Spis treści
Wstęp
Ten dokument jest przeznaczony dla programistów, którzy chcą tworzyć aplikacje mogące współpracować z interfejsem JSON API Bloggera. Blogger to narzędzie do tworzenia stron internetowych, na których użytkownicy mogą na bieżąco dzielić się swoimi przemyśleniami.
Jeśli nie masz doświadczenia z pojęciami związanymi z Bloggerem, zanim zaczniesz kodować, przeczytaj artykuł Pierwsze kroki.
Autoryzowanie żądań i identyfikacja aplikacji
Każde żądanie wysyłane przez aplikację do interfejsu JSON API Bloggera musi identyfikować Twoją aplikację w Google. Istnieją 2 sposoby identyfikowania aplikacji: za pomocą tokena OAuth 2.0 (który autoryzuje też żądanie) lub klucza interfejsu API aplikacji. Oto jak wybrać odpowiednią opcję:
- Jeśli żądanie wymaga autoryzacji (np. żądania ujawnienia prywatnych danych użytkownika), aplikacja musi wraz z żądaniem udostępnić token OAuth 2.0. Aplikacja może też udostępniać klucz interfejsu API, ale nie musi.
- Jeśli żądanie nie wymaga autoryzacji (np. żądania danych publicznych), aplikacja musi udostępnić klucz interfejsu API, token OAuth 2.0 lub oba te elementy – zależnie od tego, która opcja jest dla Ciebie najwygodniejsza.
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 JSON API Bloggera nie obsługuje obecnie logowania się w tym samym czasie co żądanie dostępu do danych (hybrydowe) lub przekazywanie uprawnień w całej domenie (2LO).
Autoryzowanie żądań za pomocą protokołu OAuth 2.0
Żądania wysyłane do interfejsu JSON API Bloggera w przypadku 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:
- 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.
- Aktywuj interfejs JSON API Bloggera w panelu Usługi konsoli interfejsów API Google. Jeśli nie ma jej 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 OAuth z prośbą o autoryzację aplikacji do żądania niektórych danych.
- Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
- Twoja aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
- 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 API JSON Bloggera:
https://www.googleapis.com/auth/blogger
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.
Uzyskiwanie i używanie klucza interfejsu API
Żądania wysyłane do interfejsu JSON API Bloggera w przypadku danych publicznych muszą towarzyszyć identyfikatorowi, którym może być klucz interfejsu API lub token uwierzytelniania.
Aby uzyskać klucz interfejsu API, otwórz Konsolę interfejsów API. W panelu Usługi aktywuj [api_name]. Jeśli Warunki korzystania z usługi się pojawią, przeczytaj i zaakceptuj je.
Następnie przejdź do panelu Dostęp do interfejsu API. Klucz interfejsu API znajdziesz w dolnej części panelu w sekcji „Prosty dostęp do interfejsu API”.
Gdy uzyskasz klucz interfejsu API, Twoja aplikacja może dołączać parametr zapytania key=yourAPIKey
do wszystkich adresów URL żądań.
Klucz interfejsu API można bezpiecznie umieszczać w adresach URL, więc nie trzeba go kodować.
Blogi
Pobieranie bloga
Możesz pobrać informacje o konkretnym zasobie Blogów, wysyłając żądanie HTTP GET
do identyfikatora URI bloga. Identyfikator URI zasobu blogów ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobrać bloga publicznego, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer odpowie, używając kodu stanu HTTP 200 OK
i danych 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
Aby pobrać listę blogów użytkownika, wyślij żądanie HTTP GET
do identyfikatora URI kolekcji blogów:
https://www.googleapis.com/blogger/v2/users/userId/blogs
Prośba
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: użytkownik musi być uwierzytelniony, aby móc wyświetlać listę własnych blogów, dlatego wraz z żądaniem GET
musisz podać nagłówek HTTP Authorization
.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z kodem stanu HTTP 200 OK
wraz z pełną reprezentacją listy dziennikó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
Aby pobrać listę postów z danego bloga, możesz wysłać żądanie GET
do identyfikatora URI kolekcji postów. Identyfikator URI kolekcji postów ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobierać posty z publicznego bloga, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z kodem stanu HTTP 200 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
Aby pobrać konkretnego posta z bloga, wyślij żądanie GET
do identyfikatora URI zasobu postów. Identyfikator URI zasobu postów ma taki format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobierać posty z publicznego bloga, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer odpowie, używając kodu 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
Listę komentarzy do posta możesz pobrać, wysyłając żądanie GET
do identyfikatora URI kolekcji komentarzy. Identyfikator URI kolekcji komentarzy ma taki format:
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobierać komentarze z publicznego bloga, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z kodem stanu HTTP 200 OK
oraz 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 } ] }
Uzyskiwanie konkretnego komentarza
Aby pobrać konkretny komentarz z posta, wyślij żądanie 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
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobierać komentarze z publicznego bloga, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z 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 ze stronami
Pobieranie stron bloga
Listę stron bloga możesz pobrać, wysyłając żądanie GET
do identyfikatora URI kolekcji stron. Identyfikator URI zbioru stron ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/pages
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobierać strony z bloga publicznego, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z kodem stanu HTTP 200 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 żądanie GET
do identyfikatora URI zasobu Pages. Identyfikator URI zasobu stron ma następujący format:
https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId
Prośba
Oto przykład:
GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobierać strony z bloga publicznego, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie udostępnisz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelniania.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z kodem stanu HTTP 200 OK
oraz 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 konta użytkownika
Możesz pobrać informacje o użytkowniku, wysyłając żądanie HTTP GET
do identyfikatora URI zasobu użytkowników:
https://www.googleapis.com/blogger/v2/users/userId
Prośba
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: użytkownik musi być uwierzytelniony, aby wyświetlać własne informacje, dlatego musisz podać nagłówek HTTP Authorization
wraz z żądaniem GET
.
Odpowiedź
Jeśli żądanie się powiedzie, serwer w odpowiedzi z kodem stanu HTTP 200 OK
oraz linkiem do listy dziennikó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
Opisanych niżej parametrów zapytania można używać ze wszystkimi metodami i zasobami w interfejsach API Bloggera.
Parametry zapytania, które mają zastosowanie do wszystkich operacji API Bloggera, znajdziesz w sekcji Parametry systemowe.