W tym dokumencie opisujemy, jak korzystać z popularnych funkcji interfejsu Blogger API JSON za pomocą stylu wywołania REST.
Spis treści
Wprowadzenie
Ten dokument jest przeznaczony dla programistów, którzy chcą tworzyć aplikacje mogące korzystać z interfejsu API JSON dla Bloggera. Blogger to narzędzie do tworzenia witryn, które pozwalają użytkownikom dzielić się swoimi przemyśleniami na temat podstawowych zasad.
Jeśli nie znasz się na pojęciach z Bloggera, zapoznaj się z artykułem Pierwsze kroki.
Autoryzacja żądań i identyfikacja aplikacji
Każde żądanie wysyłane do aplikacji przez interfejs Blogger JSON musi identyfikować Twoją aplikację w Google. Istnieją 2 sposoby identyfikowania aplikacji: użycie tokenu OAuth 2.0 (który dodatkowo autoryzuje żądanie) i klucza interfejsu API aplikacji. Jak określić, których z tych opcji użyć:
- Jeśli żądanie wymaga autoryzacji (na przykład żądania prywatnych danych konkretnej osoby), aplikacja musi podać wraz z tokenem OAuth 2.0. Aplikacja może również udostępnić klucz interfejsu API, ale nie jest to wymagane.
- Jeśli żądanie nie wymaga autoryzacji (na przykład żądania danych publicznych), aplikacja musi udostępnić klucz interfejsu API lub token OAuth 2.0 (bądź oba z tych rozwiązań) według własnego uznania.
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 API JSON Bloggera nie obsługuje obecnie logowania się w tym samym czasie co żądanie dostępu do danych (hybrydowa) lub przekazywania dostępu w całej domenie (2LO).
Autoryzacja żądań przy użyciu protokołu OAuth 2.0
Żądania wysyłane do Bloggera za pomocą interfejsu API JSON 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:
- 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.
- Aktywuj interfejs API JSON Bloggera w panelu usług w konsoli interfejsów API Google. Jeśli nie jest widoczny 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ę dostępu do niektórych danych.
- Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji krótkoterminowy token dostępu.
- Twoja aplikacja żąda danych użytkownika, dołączając token dostępu do żądania.
- 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.
Oto informacje o zakresie OAuth 2.0 dla interfejsu API JSON Bloggera:
https://www.googleapis.com/auth/blogger
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 informacji znajdziesz na stronie Biblioteki i przykłady.
Uzyskiwanie i używanie klucza interfejsu API
Żądania wysyłane do interfejsów API Bloggera w celu uzyskania dostępu do danych publicznych muszą być powiązane z identyfikatorem, który może być kluczem interfejsu API lub tokenem uwierzytelniania.
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 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
Informacje o określonym zasobie blogów możesz pobrać, wysyłając żądanie HTTP GET
do identyfikatora URI bloga. Identyfikator URI zasobu bloga 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
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobrać publiczny blog, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zostanie zrealizowane, serwer wyśle kod stanu HTTP 200 OK
i dane 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
Możesz pobrać listę blogów użytkownika, wysyłając żądanie HTTP GET
do identyfikatora URI kolekcji blogów:
https://www.googleapis.com/blogger/v2/users/userId/blogs
Żądanie
Oto przykład żądania GET
z 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 wyświetlić listę własnych blogów, więc musisz udostępnić nagłówek HTTP Authorization
w żądaniu GET
.
Odpowiedź
Jeśli żądanie się powiedzie, serwer wyśle kod 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
Możesz pobrać listę postów z danego bloga, wysyłając żądanie GET
do identyfikatora URI kolekcji postów. Identyfikator URI kolekcji postów ma taki 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
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobrać posty z publicznego bloga, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie się powiedzie, serwer wyśle kod 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
Możesz pobrać określonego posta z bloga, wysyłając żą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
Żądanie
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 pobrać posty z publicznego bloga, nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zostanie zrealizowane, serwer wyśle kod 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 ten 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
Ponieważ użytkownik nie musi być uwierzytelniony, aby pobrać Komentarze z bloga publicznego, nie musisz podawać nagłówka HTTP Authorization
w tym żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie się powiedzie, serwer wyśle kod 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
Możesz pobrać określony komentarz z posta, wysyłając żą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
Żądanie
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 pobrać Komentarze z bloga publicznego, nie musisz podawać nagłówka HTTP Authorization
w tym żądaniu GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zostanie zrealizowane, serwer wyśle kod stanu HTTP 200 OK
i dane 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 kolekcji stron ma taki 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 być uwierzytelniony, aby pobrać strony z publicznego bloga, dlatego nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zostanie zrealizowane, serwer wyśle kod 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
Aby pobrać konkretną stronę z bloga, wyślij żądanie GET
do identyfikatora URI zasobu tych stron. Identyfikator URI zasobu Strony ma następujący 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 być uwierzytelniony, aby pobrać strony z publicznego bloga, dlatego nie musisz podawać nagłówka HTTP Authorization
w odpowiedzi na to żądanie GET
. Jeśli jednak nie podasz tego nagłówka, musisz podać klucz interfejsu API.
Blogger ma też prywatne blogi, które wymagają uwierzytelnienia.
Odpowiedź
Jeśli żądanie zostanie zrealizowane, serwer wyśle kod stanu HTTP 200 OK
i dane 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
Pobieram dane użytkownika
Aby pobrać informacje o użytkowniku, wyślij żądanie HTTP GET
do identyfikatora URI zasobu użytkownika:
https://www.googleapis.com/blogger/v2/users/userId
Żądanie
Oto przykład żądania GET
z 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świetlić własne informacje, dlatego musisz udostępnić nagłówek HTTP Authorization
w żądaniu GET
.
Odpowiedź
Jeśli żądanie się powiedzie, serwer wyśle kod stanu HTTP 200 OK
i link 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
Podane poniżej parametry zapytania mogą być używane w przypadku wszystkich metod i wszystkich zasobów w interfejsach API Bloggera.
Parametry zapytania, które mają zastosowanie do wszystkich operacji interfejsu API Bloggera, są wymienione w artykule Parametry systemowe.