Blogger JSON API: использование API

Важно ! Мы прекратим поддержку API JSON версии 2.0 30 сентября 2024 г. Чтобы обеспечить бесперебойную работу, обновите свои приложения, использующие API JSON версии 2.0, до последней версии API. Для получения последней версии используйте ссылки на левой панели навигации.

В этом документе описывается, как использовать общие функции API JSON Blogger с использованием стиля вызова RESTful.

Содержание

  1. Введение
    1. Авторизация запросов и идентификация вашего приложения
  2. Работа с блогами
    1. Получение блога
    2. Получение блогов пользователей
  3. Работа с сообщениями
    1. Получение сообщений для блога
    2. Получение определенного сообщения
  4. Работа с комментариями
    1. Получение комментариев к сообщению
    2. Получение конкретного комментария
  5. Работа со страницами
    1. Получение страниц для блога
    2. Получение определенной страницы
  6. Работа с пользователями
    1. Получение пользователя
  7. Стандартные параметры запроса

Введение

Этот документ предназначен для разработчиков, желающих создавать приложения, способные взаимодействовать с API Blogger JSON. Blogger — это инструмент для создания веб-сайтов, которые позволяют людям постоянно публиковать свои мысли.

Если вы не знакомы с концепциями Blogger, вам следует прочитать «Начало работы» , прежде чем приступать к написанию кода.

Авторизация запросов и идентификация вашего приложения

Каждый запрос, который ваше приложение отправляет в API Blogger JSON, должен идентифицировать ваше приложение для Google. Существует два способа идентифицировать ваше приложение: с помощью токена OAuth 2.0 (который также авторизует запрос) и/или с помощью ключа API приложения. Вот как определить, какой из этих вариантов использовать:

  • Если запрос требует авторизации (например, запрос личных данных человека), приложение должно предоставить вместе с запросом токен OAuth 2.0. Приложение также может предоставить ключ API, но это не обязательно.
  • Если запрос не требует авторизации (например, запрос общедоступных данных), то приложение должно предоставить либо ключ API, либо токен OAuth 2.0, либо и то, и другое — любой вариант, который вам наиболее удобен.

О протоколах авторизации

Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Другие протоколы авторизации не поддерживаются.

Примечание . API Blogger JSON в настоящее время не поддерживает вход в систему одновременно с запросом доступа к данным ( гибрид ) или делегированием полномочий на уровне домена ( 2LO ).

Авторизация запросов с помощью OAuth 2.0

Запросы к API Blogger JSON для получения закрытых пользовательских данных должны быть авторизованы пользователем, прошедшим проверку подлинности.

Детали процесса авторизации или «потока» для OAuth 2.0 несколько различаются в зависимости от того, какое приложение вы пишете. Следующий общий процесс применим ко всем типам приложений:

  1. Когда вы создаете свое приложение, вы регистрируете его в Google . Затем Google предоставляет информацию, которая понадобится вам позже, например идентификатор клиента и секрет клиента.
  2. Активируйте Blogger JSON API на панели «Службы» консоли Google API. (Если его нет в списке в консоли, пропустите этот шаг.)
  3. Когда вашему приложению требуется доступ к пользовательским данным, оно запрашивает у Google определенный объем доступа.
  4. Google отображает пользователю диалоговое окно OAuth с просьбой разрешить вашему приложению запрашивать некоторые из его данных.
  5. Если пользователь одобряет, Google предоставляет вашему приложению кратковременный токен доступа .
  6. Ваше приложение запрашивает пользовательские данные, прикрепляя к запросу токен доступа.
  7. Если Google определит, что ваш запрос и токен действительны, он вернет запрошенные данные.

Некоторые потоки включают дополнительные шаги, например использование токенов обновления для получения новых токенов доступа. Подробную информацию о потоках для различных типов приложений см. в документации Google OAuth 2.0 .

Ниже представлена ​​информация об области действия OAuth 2.0 для API Blogger JSON:

https://www.googleapis.com/auth/blogger

Чтобы запросить доступ с помощью OAuth 2.0, вашему приложению необходима информация об области действия, а также информация, которую Google предоставляет при регистрации приложения (например, идентификатор клиента и/или секрет клиента).

Совет: Клиентские библиотеки API Google могут выполнить за вас часть процесса авторизации. Они доступны для различных языков программирования; для получения более подробной информации посетите страницу «Библиотеки и образцы» .

Получение и использование ключа API

Запросы к API JSON Blogger для получения общедоступных данных должны сопровождаться идентификатором, который может быть ключом API или токеном аутентификации.

Чтобы получить ключ API, посетите консоль API . На панели «Службы» активируйте [api_name]; Если появятся Условия обслуживания, прочитайте и примите их.

Затем перейдите на панель «Доступ к API» . Ключ API находится в нижней части этой панели, в разделе «Простой доступ к API».

После того, как у вас есть ключ API, ваше приложение может добавить параметр запроса key= yourAPIKey ко всем URL-адресам запроса.

Ключ API можно безопасно встраивать в URL-адреса; ему не нужна никакая кодировка.

Работа с блогами

Получение блога

Вы можете получить информацию для определенного ресурса блога, отправив запрос HTTP GET на URI блога. URI для ресурса блогов имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и данными блога:

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": ""
  }
}

Получение блогов пользователей

Вы можете получить список блогов пользователя, отправив запрос HTTP GET на URI коллекции блогов:

https://www.googleapis.com/blogger/v2/users/userId/blogs

Запрос

Вот пример запроса GET , в котором перечислены блоги пользователя:

GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */

Примечание . Пользователь должен пройти аутентификацию, чтобы составить список своих собственных блогов, поэтому вы должны предоставить HTTP-заголовок Authorization в запросе GET .

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и полным представлением списка блогов пользователя:

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": ""
      }
    }
  ]
}

Работа с сообщениями

Получение сообщений из блога

Вы можете получить список сообщений из определенного блога, отправив запрос GET на URI коллекции сообщений. URI для коллекции сообщений имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения сообщений из общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и списком сообщений:

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
    }
  ]
}

Получение определенного сообщения

Вы можете получить определенную публикацию из блога, отправив запрос GET на URI ресурса публикации. URI для ресурса сообщений имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения сообщений из общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и содержимым сообщения:

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"
  }
}

Работа с комментариями

Получение комментариев к сообщению

Вы можете получить список комментариев к публикации, отправив запрос GET на URI коллекции комментариев. URI для коллекции комментариев имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения комментариев из общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и списком комментариев:

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
    }
  ]
}

Получение конкретного комментария

Вы можете получить конкретный комментарий из публикации, отправив запрос GET на URI ресурса комментариев. URI для ресурса комментариев имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения комментариев из общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и данными комментария:

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"
    }
  }
}

Работа со страницами

Получение страниц для блога

Вы можете получить список страниц блога, отправив запрос GET на URI коллекции страниц. URI для коллекции страниц имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения страниц из общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и списком страниц:

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"
        }
      }
    }
  ]
}

Получение определенной страницы

Вы можете получить определенную страницу из блога, отправив запрос GET на URI ресурса страниц. URI для ресурса страниц имеет следующий формат:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

Запрос

Вот пример:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY

Поскольку пользователю не требуется проходить аутентификацию для получения страниц из общедоступного блога, вам не нужно предоставлять HTTP-заголовок Authorization в этом запросе GET ; но если вы не предоставите этот заголовок, вам необходимо предоставить ключ API.

Blogger также имеет частные блоги, которые требуют аутентификации.

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и данными страницы:

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"
    }
  }
}

Работа с пользователями

Получение пользователя

Вы можете получить информацию о пользователе, отправив запрос HTTP GET на URI ресурса пользователя:

https://www.googleapis.com/blogger/v2/users/userId

Запрос

Вот пример запроса GET , в котором перечислены блоги пользователя:

GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */

Примечание . Пользователь должен пройти аутентификацию, чтобы указать свою собственную информацию, поэтому вы должны предоставить HTTP-заголовок Authorization вместе с запросом GET .

Ответ

Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK и ссылкой на список блогов пользователя:

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"
  }
}

Стандартные параметры запроса

Следующие параметры запроса можно использовать со всеми методами и всеми ресурсами в API Blogger.

Параметры запроса, применимые ко всем операциям API Blogger, описаны в разделе «Системные параметры» .