[vega-m] Использование API
-
- Мимо проходил
- Сообщения: 6
- Зарегистрирован: Пн, 05 авг 2019 11:54
[vega-m] Использование API
Приветствую. Не нашел на форуме раздела с вопросами/ответами по API, решил написать здесь.
В общем, начал использовать API от Вега-М (файл инструкций называется APIvega_mV4, так что использую, видимо, версию 4).
И вот у меня не совсем понятная проблема появилась:
1. Авторизуюсь командой authorization
2. Проверяю статус авторизации командой statusAuthorization (в ответе permission 1, то есть Успешная авторизация, обычные права пользователя)
3. Пытаюсь получить список маяков командой getDevices и получаю ошибку 12 и сообщение Not enough rights
Не совсем понимаю, какие пользователи могут иметь доступ к списку маяков (под этим же аккаунтом без проблем получаю список маяков на карте) и как редактировать свой аккаунт, если это возможно.
В общем, начал использовать API от Вега-М (файл инструкций называется APIvega_mV4, так что использую, видимо, версию 4).
И вот у меня не совсем понятная проблема появилась:
1. Авторизуюсь командой authorization
2. Проверяю статус авторизации командой statusAuthorization (в ответе permission 1, то есть Успешная авторизация, обычные права пользователя)
3. Пытаюсь получить список маяков командой getDevices и получаю ошибку 12 и сообщение Not enough rights
Не совсем понимаю, какие пользователи могут иметь доступ к списку маяков (под этим же аккаунтом без проблем получаю список маяков на карте) и как редактировать свой аккаунт, если это возможно.
- Самуил
- Просто смотрю
- Сообщения: 80
- Зарегистрирован: Вт, 02 июл 2019 13:10
- Откуда: Россия
- Контактная информация:
Re: Использование API
1) пост относит к теме "Софт Вега-Абсолют"
2) при авторизации api json выплёвывает весь список доcтупных команд. смотри логи. если нет в списке - смотри галочки прав. если есть разница - косяк со стороны разрабов веги
2) при авторизации api json выплёвывает весь список доcтупных команд. смотри логи. если нет в списке - смотри галочки прав. если есть разница - косяк со стороны разрабов веги
-
- Мимо проходил
- Сообщения: 6
- Зарегистрирован: Пн, 05 авг 2019 11:54
Re: Использование API
Ну вообще по факту авторизации возвращается объект (пользую cUrl)
Про галочки прав вопрос открыт, так как единственный доступ, который у меня есть, это доступ вот сюда - https://vega-m.com/ (и там карта с маяками и больше ничего).
Разработчики дали ссылку на этот форум. Ответ от них довольно долго приходит, поэтому их советом с форумом воспользовался =)
Код: Выделить всё
stdClass Object ( [command] => authorization [status] => 1 [info] => stdClass Object ( [email] => ***@*** [permission] => 1 ) )
Разработчики дали ссылку на этот форум. Ответ от них довольно долго приходит, поэтому их советом с форумом воспользовался =)
- a.gerusenko
- Сотрудник компании
- Сообщения: 26
- Зарегистрирован: Пт, 26 июл 2019 16:48
Re: Использование API
В разделе "Общие сведения по работе c API" написано "Сервер использует сессии php".
Вероятнее всего Вы не удерживаете сессию PHP.
Во вложении прикрепил html файл, который может быть поможет Вам разобраться в данном вопросе и с api для сервиса vega-m.com
Вероятнее всего Вы не удерживаете сессию PHP.
Во вложении прикрепил html файл, который может быть поможет Вам разобраться в данном вопросе и с api для сервиса vega-m.com
- Вложения
-
- index.html.zip
- Пример
- (2.04 КБ) 484 скачивания
Старший инженер-программист
Re: [vega-m] Использование API
У vega-m.com есть апи?
-
- Мимо проходил
- Сообщения: 6
- Зарегистрирован: Пн, 05 авг 2019 11:54
Re: [vega-m] Использование API
Ага, как оказалось.
Вот сижу разбираюсь.
Вот сижу разбираюсь.
Re: [vega-m] Использование API
Можете скинуть, на сайтах найти не могу. То что вам ответили помогло? Апи рабочее?
-
- Мимо проходил
- Сообщения: 6
- Зарегистрирован: Пн, 05 авг 2019 11:54
Re: [vega-m] Использование API
Вот все, что имею.
Честно говоря, времени не очень хватает. Последний пост с php сессиями вчера проверил, ну и как-то не зашло. Сессия остается пустой, куки тоже. В общем, надо еще посидеть покурить =)
- a.gerusenko
- Сотрудник компании
- Сообщения: 26
- Зарегистрирован: Пт, 26 июл 2019 16:48
Re: [vega-m] Использование API
Если что то не получается, пишите, мы обязательно попытаемся помочь.
Я написал несколько скриптов в помощь(для тестов, простые), может поможет разобраться:
Скрипт авторизации
Скрипт запроса списка устройств
Я написал несколько скриптов в помощь(для тестов, простые), может поможет разобраться:
Скрипт авторизации
Код: Выделить всё
<?php
$params = array(
'command' => 'authorization',
'email' => 'example@yandex.ru',
'password' => '55055505test'
);
$paramsStr = json_encode($params);
$ch = curl_init('https://api.vega-m.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr);
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
?>
Код: Выделить всё
<?php
$params = array(
'command' => 'getDevices'
);
$paramsStr = json_encode($params);
$ch = curl_init('https://api.vega-m.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLINFO_HEADER_OUT, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr);
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
?>
Старший инженер-программист
-
- Мимо проходил
- Сообщения: 6
- Зарегистрирован: Пн, 05 авг 2019 11:54
Re: [vega-m] Использование API
Кайф! Вот про что я забыл, про CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE. Все получилось, спасибоa.gerusenko писал(а): ↑Пт, 09 авг 2019 14:09Если что то не получается, пишите, мы обязательно попытаемся помочь.
Я написал несколько скриптов в помощь(для тестов, простые), может поможет разобраться:
Скрипт авторизацииСкрипт запроса списка устройствКод: Выделить всё
<?php $params = array( 'command' => 'authorization', 'email' => 'example@yandex.ru', 'password' => '55055505test' ); $paramsStr = json_encode($params); $ch = curl_init('https://api.vega-m.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT']."/cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt ($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLINFO_HEADER_OUT, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr); $result = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); ?>
Код: Выделить всё
<?php $params = array( 'command' => 'getDevices' ); $paramsStr = json_encode($params); $ch = curl_init('https://api.vega-m.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt ($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLINFO_HEADER_OUT, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'JSON='.$paramsStr); $result = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); ?>