0
Answered
работа со сторонним API
Доброго дня! подскажите как реализовать данную задачу: есть устройство которое управляется посредством API через интернет, первое что нужно сделать это устройству отправить POST запрос на принятие slid_token:
Адрес:
http://***********.ru:4444/json/v2/auth.slid
Запрос:
{ "slid_token" : "123456789:987654321" }
в случае отправки правильного токена, прилетает такая инфа:
{
"code": "200",
"codestring": "OK",
"realplexor_id": "******************************************",
"user_id": "555555"
}
в случае не правильного:
{
"code": "401",
"codestring": "Bad slid token"
}
Помогите в иридиуме сделать кнопку при нажатии на которую пройдет отправка токена, и несколько окон 1. значаение "code" 2. "codestring" 3. "user_id"
очень хотелось бы получить пример, далее буду пробовать сам. Сильно не пинайте, только учусь писать драйвера.
Customer support service by UserEcho
и да, немаловажно! что для дальнейшей работы с API нужно что бы хранилось куки и каждый раз отправлялось с запросом....
Куки нужно будет сохранять самостоятельно, в переменную проекта
Здравствуйте
POST разпросы в Иридиум формируются так. В вашем случае должно получиться:
URI: /json/v2/auth.slid
Data: 'slid_token" : "123456789:987654321'
Настройка HTTP драйвера:
Host: ***********.ru
Port: 4444
Полученные данные нужно обработать с помощью слушателя
Пример по ссылке.
статусы реализовал но вот маленькая загвостка у меня... в общем: при запросе инфы о сигналке
"С вопросом выше разобрался, надо было: s_add_h = JSONObject.devices[0].car_alr_state.add_h;
мне надо чтобы итем менял статус по этому значению, делаю так: IR.GetItem("Page 1").GetItem("arm").Value = JSONObject.devices[0].car_alr_state.door; но итем не меняет статусы... полагаю что он не понимает что это значение, думает что текст и не отрабатывает.... как его сделать значением???"
Попробуйте для смены состояния итема использовать не параметр Value, а параметр State. Т.е.
IR.GetItem("Page 1").GetItem("arm").State = JSONObject.devices[0].car_alr_state.door;
Гуд! сработало! только надо учесть что в проекте надо статус делать с учетом: приходящее число +1.
теперь задачка поинтереснее.... но походу я сам с ней не справлюсь.... и даже не знаю возможно ли это сделать....
в общем при выше описанных функциях:
//Получаем статусы Position
//Выводим в лог данные Position
я имею объекты с данными:
"dir": null,
теперь самое главное! вопрос! как сделать вывод куска яндекс карты с отображением точки по выше полученным координатам=)
были ли тут вообще пример по отображению карты яндекс?
возможно ли вывести яндекс карту посредством API яндекса????
если нет, то обидно(((( тогда подскажите как написать скрипт что бы в созданный объект в проекте:
IR.GetItem("Page 1").GetItem("pozition_maps")
было отображено статическое изображение, с подставленными значениями из:
s_x = JSONObject.devices[0].position.x;
s_y = JSONObject.devices[0].position.y;
https://static-maps.yandex.ru/1.x/?ll=(s_y),(s_x)&size=600,450&z=15&l=map&pt=(s_y),(s_x),pm2gnl
С выводом статической карты и метки из json разобрался. Но остаётся актуальным вопрос про работу карты посредством скрипта. Спецы аууу, что скажете
Здравствуйте!
К сожалению во второй версии не получится вывести изображение карты в интерфейс Иридиума, т.к. ее можно получить только используя https соединение. Но в i3Pro это уже исправлено и вы можете спокойно использовать вашу ссылку для того чтобы вывести изображение на элемент интерфейса.
Вот пример как это сделать:
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Image = "https://static-maps.yandex.ru/1.x/?ll=37.620070,55.753630&size=450,450&z=13&l=map&pt=37.620070,55.753630,pmwtm1~37.64,55.76363,pmwtm99";
Вам остается только подставить свои значения как вы описали выше.
В примере я использовал ссылку из документации по Яндекс API.
Спасибо за ответ, но как я уже выше написал, вывод статики я реализовал (во 2м иридиуме и прекрасно работает, но не совсем то что нужно)
var iPosition_maps = 0;
if(iPosition_maps != 0)
iPosition_maps.GetState(0).Image = ("https://static-maps.yandex.ru/1.x/?ll=" + s_y + "," + s_x + "&size=600,450&z=15&l=map&pt=" + s_y + "," + s_x + ",pm2gnl");
интересует возможность работы со скриптом яндекса в иридиуме.....
?