Подключение сервисов
Материал из Hivext Wiki
Содержание |
Подключение сервисов
Вызывать методы платформы можно несколькими путями:
- Локально (локальный доступ к HiAPI & LoAPI);
- По сети (сетевой доступ к HiAPI).
Локальный доступ к HiAPI & LoAPI
Примеры локального вызова методов из скриптов. Скрипт должен быть размещен (загружен) в платформе через сервис Скриптинга.
// Обращение к HiAPI.
Response oResponse = hivext.{пространство_имен}.{имя_сервиса}.{имя_метода}(параметры);
if(oResponse.getResult() == 0) { ... }
// Пример.
String GAPPID = "1234567890ABCDEF";
String sLogin = "guest@guest.com";
String sPassword = "guest";
Response oResponse = hivext.users.authentication.Signin(GAPPID, sLogin, sPassword);
if(oResponse.getResult() == 0) { /* Аутентификация прошла успешно */ }
// Обращение к LoAPI.
String sResult = hivext.local.{имя_метода}(параметры);
// Пример.
String sUserAgent = hivext.local.GetHeader("User-Agent");
// Обращение к HiAPI.
Response oResponse = hivext.{пространство_имен}.{имя_сервиса}.{имя_метода}(параметры);
if(oResponse.result == 0) { ... }
// Пример.
var GAPPID = "1234567890ABCDEF";
var sLogin = "guest@guest.com";
var sPassword = "guest";
var oResponse = hivext.users.authentication.Signin(GAPPID, sLogin, sPassword);
if(oResponse.result == 0) { /* Аутентификация прошла успешно */ }
// Обращение к LoAPI.
var sResult = hivext.local.{имя_метода}(параметры);
// Пример.
var sUserAgent = hivext.local.GetHeader("User-Agent");
Cетевой доступ к HiAPI
Все сервисы предоставляют как минимум один вариант доступа REST. Некоторые сервисы кроме REST предоставляют SOAP доступ. Разработчик выбирает тот вариант доступа который ему удобен для разрабатываемого приложения.
Доступ через REST
Каждый метод имеет свой адрес и описание входящих и возвращаемых параметров.
Для того чтобы работать с методами напрямую через REST необходимо:
- Делать HTTP (GET, POST) запросы на адреса нужных методов;
- Кодировать входящие параметры (для GET в urlEncoding, для POST в multipart/form-data);
- Декодировать JSON ответ метода в объект.
Пример адреса метода c установленными параметрами (пространство имен Пользователи, сервис Идентификация и аутентификация, метод Signin, входящие параметры appid, email и password):
http://api.hivext.ru/1.0/users/authentication/rest/signin?appid=1dd8d191d38fff45e62564fcf67fdcd6&email=guest@guest.com&password=guest
Доступ через SOAP
В документациии каждого сервиса, секция Общая информация, в поле Адрес сервиса указывается возможность SOAP доступа, если она есть то в секции Клиенты указан адрес WSDL файла.
Доступ через клиенты
Клиент - модуль упрощающий вызовы методов из ваших проектов. Клиент делает HTTP запросы на адрес метода, кодирует входящие и декодирует возвращаемые параметры. Клиент разрабатывается под необходимый разработчику язык программирования и среду исполнения.
Информация о клиентах содержится в секции Клиенты в описании каждого сервиса.
Ниже представлены таблицы уже разработанных нами клиентов для разных языков программирования. Клиенты разработаны с тем учетом чтобы упростить вызов методов сервисов на клиентской стороне.
JavaScript
| Параметр | Значение |
|---|---|
| Адрес ядра | http://code.hivext.ru/frameworks/js/core.js |
| Клиенты | Есть для всех сервисов |
| Способы присоединения к проекту |
Удаленное подключение к клиентскому коду
Локальное подключение к клиентскому коду (скрипт предварительно закачивается на свой сервер)
|
| Способы вызовов методов |
Способы вызова методов сервисов в JavaScript
// Синхронный вызов. |
Java SE
| Параметр | Значение |
|---|---|
| Адрес ядра | Без ядра |
| Клиенты | Файловое хранилище |
| Способы присоединения к проекту | Подключение пакета |
| Способы вызовов методов |
Способы вызова методов сервисов в Java SE
import com.hivext.api.Response; |
Java ME
| Параметр | Значение |
|---|---|
| Адрес ядра | Без ядра |
| Клиенты | Файловое хранилище |
| Способы присоединения к проекту | Подключение пакета |
| Способы вызовов методов |
Способы вызова методов сервисов в Java ME
import com.hivext.api.Response; |
