Interfejs API JSON Bloggera: korzystanie z interfejsu API

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:

  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. Aktywuj interfejs JSON API Bloggera w panelu Usługi konsoli interfejsów API Google. Jeśli nie ma jej 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 OAuth z prośbą o autoryzację aplikacji do żądania niektórych danych.
  5. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  6. Twoja 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, 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.