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

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

Содержание

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запросы общедоступных данных к Blogger JSON API должны сопровождаться идентификатором, которым может быть ключ 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 для ресурса Pages имеет следующий формат:

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, задокументированы в разделе Системные параметры .