Interfejs API JSON Bloggera: używanie interfejsu API

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:

  1. 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.
  2. 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.
  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ę dostępu do niektórych danych.
  5. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji krótkoterminowy token dostępu.
  6. Twoja aplikacja żąda danych użytkownika, dołączając token dostępu do żądania.
  7. 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.