Interfejs API JSON Bloggera: korzystanie z interfejsu API

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:

  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. 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).
  3. Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
  4. Google wyświetla użytkownikowi okno autoryzacji OAuth z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
  5. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  6. Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
  7. 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.