Подключение сервисов

Материал из Hivext Wiki

Перейти к: навигация, поиск

Содержание

Подключение сервисов

Вызывать методы платформы можно несколькими путями:

  • Локально (локальный доступ к HiAPI & LoAPI);
  • По сети (сетевой доступ к HiAPI).

Локальный доступ к HiAPI & LoAPI

Примеры локального вызова методов из скриптов. Скрипт должен быть размещен (загружен) в платформе через сервис Скриптинга.

В Java

// Обращение к 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");

В Javascript

// Обращение к 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
Клиенты Есть для всех сервисов
Способы присоединения к проекту

Удаленное подключение к клиентскому коду

<script src="http://code.hivext.ru/frameworks/js/core.js" />
<script src="http://api.hivext.ru/{версия}/{пространство_имен}/{имя_сервиса}.js" />

Локальное подключение к клиентскому коду (скрипт предварительно закачивается на свой сервер)

<script src="http://{мой_сервер}/{мой_путь_к_скриптам}/сore.js" />
<script src="http://{мой_сервер}/{мой_путь_к_скриптам}/{имя_сервиса}.js" />
Способы вызовов методов
Способы вызова методов сервисов в JavaScript

// Синхронный вызов.
var oResponse = {пространство_имен}.{имя_сервиса}.{имя_метода}([параметры]);

// Асинхронный вызов.
{пространство_имен}.{имя_сервиса}.{имя_метода}([параметры], function(oResponse) {});

Java SE

Параметр Значение
Адрес ядра Без ядра
Клиенты Файловое хранилище
Способы присоединения к проекту Подключение пакета
Способы вызовов методов
Способы вызова методов сервисов в Java SE

import com.hivext.api.Response;
import com.hivext.api.Callback;
import com.hivext.api.{пространство_имен}.{имя_сервиса};

// Синхронный вызов.
Response oResponse = {имя_сервиса}.{имя_метода}([параметры]);

// Асинхронный вызов.
{имя_сервиса}.{имя_метода}([параметры], new Callback() {
    @Override
    public void fire(Response oResponse) {}
});

Java ME

Параметр Значение
Адрес ядра Без ядра
Клиенты Файловое хранилище
Способы присоединения к проекту Подключение пакета
Способы вызовов методов
Способы вызова методов сервисов в Java ME

import com.hivext.api.Response;
import com.hivext.api.Callback;
import com.hivext.api.{пространство_имен}.{имя_сервиса};

// Синхронный вызов.
Response oResponse = {имя_сервиса}.{имя_метода}([параметры]);

// Асинхронный вызов.
{имя_сервиса}.{имя_метода}([параметры], new Callback() {
    public void fire(Response oResponse) {}
});

Личные инструменты