Мануал по Bubble
  • 0. Введение
  • 1. Основы Bubble
  • 1.1 Что такое Bubble?
  • 1.2 Основные принципы
  • 1.3 Стратегии изучения Bubble
  • 1.4 Владение данными и приложением
  • 1.5 Допустимое использование
  • 2. Редактор приложения
  • 2.1 Основные разделы интерфейса
  • 2.2 Ключевые принципы
  • 2.3 Инструменты
  • 2.4 Горячие клавиши и Помощь
  • 3 Создание интерфейса
  • 3.1 Основные принципы
  • 3.2 Создание адаптивных страниц
  • 3.3 Управление с помощью условий
  • 3.4 Использование стилей
  • 3.5 Использование пользовательских шрифтов
  • 3.6 Советы при проектировании
  • 3.7 Использование шаблона
  • 4 Создание рабочих процессов
  • 4.1 Общие принципы
  • 4.2 Управление с помощью условиями
  • 4.3 Использование пользовательских процессов
  • 4.4 Советы по созданию рабочих процессов
  • 5 Работа с данными
  • 5.1 Ключевые понятия
  • 5.2 Тип Пользователь
  • 5.3 Сохранение данных
  • 5.4 Отображение данных
  • 5.5 Создание динамических выражений
  • 5.6 Пользовательские состояния элементов
  • 5.7 Вкладка Данные
  • 5.8 Конфиденциальность и безопасность
  • 6 Структурирование приложения
  • 6.1 Ключевые принципы
  • 6.2 Многостраничные приложения
  • 6.3 Элементы многократного использования
  • 7 Использование плагинов
  • 7.1 Для чего нужны плагины?
  • 7.2 Установка и использование плагинов
  • 7.3 Специальные плагины
  • 7.4 Создание плагинов
  • 8 Настройки приложения
  • 8.1 Версии приложения
  • 8.2 Личные и публичные приложения
  • 8.3 Пользовательские домены и SSL
  • 8.4 Политика паролей
  • 8.5 Визуальные настройки
  • 8.6 Язык и сообщения внутри приложения
  • 8.7 Социальные сети и SEO
  • 9 Использование API Баббла
  • 9.1 Примеры использования API
  • 9.2 Определение API
  • 9.3 Использование API
  • 9.4 Запланированные рабочие процессы
  • 9.5 Примеры и руководства
  • 10 Тестирование приложения
  • 10.1 Основные стратегии
  • 10.2 Использование отладчика
  • 10.3 Использование логов сервера
  • 11 Поддержка приложения
  • 11.1 Контроль версий
  • 11.2 Копирование и восстановление базы данных
  • 11.3 Массовые операции
  • 11.4 Комментирование
  • 11.5 Совместная работа
  • 12 Архитектура, оптимизация и ограничения движка Баббл
  • 13 Создание плагинов
  • 13.1 Редактор плагинов
  • 13.2 Основные и общие настройки
  • 13.3 Добавление API-соединений
  • 13.4 Создание элементов
  • 13.5 Создание действий
  • 13.6 Загрузка данных
  • 13.7 Публикация и контроль версий
  • 13.8 Интеграция с GitHub
  • 14 Тарифы на аренду выделенных серверов
  • 14.1 Преимущества выделенных кластеров
  • 14.2 Использование выделенного кластера
  • 15 Учетные записи, тарифы и оплата
  • 15.1 Управление учетной записью
  • 15.2 Тарифы и оплата
  • 15.3 Создание приложений на заказ
  • 15.4 Продажа на торговой площадке Баббл
Powered by GitBook
On this page
  • Аутентификация
  • Без аутентификации (No authentication)
  • Закрытый ключ в URL (Private key in URL)
  • Закрытый ключ в заголовке (Private key in header)
  • Базовая HTTP авторизация (HTTP Basic Auth)
  • Поток Oauth2 с паролем (Oauth2 Password Flow)
  • Специальный токен Oauth2 (Oauth2 Custom Token)
  • Поток Oauth2 через User-Agent (Oauth2 User-Agent Flow)
  • Web токен JSON
  • Общие заголовки
  • Задание точки входа для вызова
  • JSON
  • XML
  • Изображение
  • Текст, число

Was this helpful?

13.3 Добавление API-соединений

Previous13.2 Основные и общие настройкиNext13.4 Создание элементов

Last updated 4 years ago

Was this helpful?

Вызовы API процедур - это способ получения данных от внешних сервисов или запуска событий на стороне этих сервисов (отправка сообщения, списание денег с карты и т.д.). Обычно (но не всегда) первый тип вызовов осуществляется с помощью GET запросов, а второй с помощью POST. Для вызова обычно требуется аутентификация, чтобы сервис идентифицировал, кто вызывает процедуру (и мог брать оплату за каждый вызов и т.д.). Такие вызовы добавляются во вкладке API в Редакторе приложения . Здесь вы задаете аутентификацию для вызовов и тип использования вызовов, использовать как источник данных или же как действие.

Пример реализации вызовов API iTunes вы можете посмотреть здесь (!!!ЛНК!!!).

Реализация API-соединений может отличаться в зависимости от API. Так как большинство API следуют стандартам, при возникновении проблем мы рекомендуем обратится к сервису, предоставившему API или попросить помощи на форуме.

Аутентификация

Разработка вызовов начинается с метода аутентификации, которым будут подписаны вызовы во время работы. Аутентификация осуществляется несколькими стандартными способами. Обратите внимание, что при разработке API-соединения с использованием каких-либо ключей вам всегда нужно вводить актуальные ключи для теста. Эти ключи сохраняются только для работы над плагином. Они никогда не будут отправлены пользователям, которые используют плагин. Напротив, им нужно будет ввести свои собственные API-ключи в редакторе во вкладке Плагины.

Без аутентификации (No authentication)

К вызову ничего не добавляется, или же вы управляете аутентификацией с помощью специальных параметров и обработчиков. Обратите внимание, что мы не рекомендуем самостоятельно управлять аутентификацией, а использовать вместо этого встроенную систему аутентификации Bubble для более безопасного соединения.

Закрытый ключ в URL (Private key in URL)

Ключ добавляется в URL, имя ключа может быть изменено в редакторе.

Закрытый ключ в заголовке (Private key in header)

Ключ добавляется в заголовок всех запросов. Очень похож на предыдущий метод. Очень часто заголовок выглядит как: Authorization: KEY, но вы можете при необходимости изменить имя Authorization.

Базовая HTTP авторизация (HTTP Basic Auth)

В каждом запросе посылается пара логин/пароль, согласно базовому протоколу авторизации HTTP (см здесь (!!!ЛНк!!!).

Поток Oauth2 с паролем (Oauth2 Password Flow)

Специальный токен Oauth2 (Oauth2 Custom Token)

Данный поток подобен Потоку с паролем, но позволяет самостоятельно задать вызов, который возвращает токен, в том случае, если ваш подход отличается от стандартного, который описан выше. Токен будет добавлен к вызовам как Bearer Token (токен на предъявителя), и будет автоматически продлен при необходимости. Обратите внимание, что для корректного функционирования токен должен возвращаться в виде объекта как минимум с двумя ключами: access_token и expires_in .

Поток Oauth2 через User-Agent (Oauth2 User-Agent Flow)

Данный поток используется большинством сервисов, когда нужно связаться с API, работающим на стороне пользователя (Facebook, Pinterest, Google и т.д.). Это позволяет получить доступ к пользовательским данным при использовании API (таким как профиль пользователя на Facebook). Настойка этого происходит в несколько шагов, так как вам нужно пройти аутентификацию со своего собственного аккаунта, для того, чтобы иметь возможность делать аутентифицированные запросы в режиме редактирования и для инициализации вызовов.

Обычно начинают с настройки "приложения" в сервисе, с помощью которого вы собираетесь проходить аутентификацию. Этот сервис после настройки предоставит вам Client ID и Secret, с помощью которых ваше приложение будет связываться с сервисом.

Для начала вам нужно внести некоторую информацию и создать точки входа, которые нужны для получения токена и ID пользователя.Эта точка входа будет использоваться для генерации токена и подтверждения личности пользователя в сервисе. Вся эта информация есть в документации по API. Когда будете смотреть документацию, рекомендуем искать раздел не с SDK, а с использованием web/HTTP).

  • Scope: каждый сервис, работающий по Oauth2 потребует от вас ввести параметр scope, который определяет уровень прав доступа, который вы запрашиваете у пользователей. Это может быть "только чтение"/"readonly", "запись"/"write", "отправка сообщений"/"send messages" ...

  • Login Dialog redirect - это ссылка, по которой пользователь перейдет на сервис, чтобы авторизовать ваше приложение (и, возможно, сначала войдет в этот сервис). Часто она выглядит как: https://www.facebook.com/v2.8/dialog/oauth

  • Access token endpoint - это ссылка, которая используется на сервере для получения токена доступа из временного кода. Для Facebook, это будет https://graph.facebook.com/v2.8/oauth/access_token

  • User profile endpoint - это ссылка, которую вы используете уже будучи аутентифицированным для получения профиля текущего пользователя. В него обычно входит ID и email (кроме случаев, когда сервис не предоставляет email по API). Для Facebook, такая ссылка https://graph.facebook.com/v2.7/me ("me" - это общий шаблон) В некоторых случаях, если ID не возвращается в верхнем уровне ответа по предыдущей ссылке или ключ отличается от "id", вы можете переназначить ключ с помощью двух настроек после раздела с точкой входа.

В случае с Oauth2 User-Agent Flow, вам нужно аутентифицировать себя в вашем собственном аккаунте для того, чтобы инициализировать вызовы. Этот процесс можно пройти по соответствующей кнопке, после чего токен будет сохранен. Ваши личные и учетные данные в данном сервисе не будут разглашены пользователям вашего плагина.

Web токен JSON

Некоторые сервисы пользуются более продвинутым протоколом (!!!ЛНК!!!) для управления типами и правами доступа.Обычно это относится к сервисам корпоративного типа, например Box или Google Cloud. Для аутентификации через такие сервисы вам нужно ввести тип доступа, электронную почту, привязанную к учетной записи и точку входа, которая возвращает токен. Также вам нужен закрытый ключ RSA, которой предоставляется сервисом для установки соединения. Обратите внимание, что ключ должен находиться между "-----BEGIN RSA PRIVATE KEY-----" и

"-----END RSA PRIVATE KEY-----".

-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
................................................................
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY-----

Общие заголовки

Если вам нужно добавить общие заголовки во все запросы, включая запросы аутентификации, вы можете задать их в данном разделе. Обратите внимание, что значения, которые вы здесь задаете могут быть типа "hidden"/"скрытые" или "secret"/"секретные". Скрытые настройки прописываются вами, как создателем плагина, вручную, и пользователи плагина не смогут задавать эти параметры. В большинстве случаев они используются для передачи технических заголовков типа content-type и т.д. Параметры секретного типа пользователям будет предложено задать во вкладке Плагины.

Задание точки входа для вызова

После ввода параметров аутентификации вы можете начать редактирование ваших вызовов. Начать нужно с определения метода запроса, потом скопировать адрес точки входа, на которую посылается запрос и задать параметры, которые должен заполнить пользователь. Обратите внимание, если вы введете часть URL между "[" и "]", значение в скобках будет параметром.

Параметры могут быть нескольких типов: публичные (public), скрытые (hidden) и секретные (secret).

  • Публичные параметры будут изменяться пользователем на уровне вызова (например, для строкового параметра API вызова)

  • Скрытые параметры используются создателем плагина и не будут раскрыты пользователю плагина. Например, в них может быть тип шифрования и т.д.

После того, как вы задали вызов, нужно его инициализировать, чтобы использовать в Bubble. Вызов API может возвращать пять различных типов данных.

JSON

XML

Некоторые API возвращают ответ в виде XML. Часто его можно конвертировать в объект JSON. Если вы работаете с таким API, то вы можете использовать XML и получать данные в виде JSON объекта, а затем действовать методом, описанным выше. Обратите внимание, что не все XML ответы могут быть конвертированы в JSON. Если у Баббл это не получится, выведется сообщение об ошибке.

Изображение

Некоторые API возвращают изображение в качестве ответа. Например, оно может быть в виде ссылки, которую можно использовать в тэге <img>. В таком случае API вызов в Bubble вернет изображение, которое может использоваться в элементе Изображение (Image) или в качестве фона страницы.

Текст, число

Вам нужно выбрать это тип, если API возвращает строку или число (без структурирования в JSON объект).

Обратите внимание, что, в случае с публичным API, смена типов может привести к несовместимости типов, поэтому вам следует быть осторожными, а также при публикации плагина описать в документации как возможное нарушение (см ниже).

Пароль и имя пользователя используются для получения токена (подробности см здесь (!!!ЛНК!!!)), который имеет срок действия и может быть автоматически продлен вашим приложением. Данный токен возвращается при вызове точки входа, которую нужно заполнить в редакторе. Точку входа можно найти в документации к API. Для этого в документации выполните поиск по словам "token" или "OAuth Bearer token".

Вот так выглядит аутентификация для Spotify:

Секретные параметры подходят для ключей и прочего. Пользователи будут вводить их в редакторе во вкладке Плагины.

Самый типовой случай использоваться REST API, возвращает объект парами ключ-значение. Если вы выберете этот тип, во всплывающем окне после инициализации вызова вам будет предложено выбрать типы данных для каждого ключа. Во время инициализации вызова Баббл сделает запрос и распознает данные, вернувшиеся в ответ.