Чтобы добавлять сообщения и комментарии, .

@Balancer:
Balancer

Никто не в курсе, как через Twitter API получить множественные фотки в аттаче? А то все стандартные средства в случае одиночной фотки возвращают по ней всю инфо, по серии — пусто. Один текст.

@OCTAGRAM:
OCTAGRAM

К слову о мобильных клиентах, а не сделать ли поддержку API, как в Twitter и identi.ca? Там не то StatusNet, не то ActivityStreams, что-то такое даёт взаимозаменяемость, и клиенты, поддерживающие одно, могут подключаться к другому, если нет жёсткой привязки.

@Hawat:
Hawat

Интересно у тындекса средствами API можно выдрать определенную точку на дороге и проверять как там с пробками...а потом это скриптом прикрутить к zabbix.

@OCTAGRAM:
OCTAGRAM

Отдыхаю на API libnetfilter_conntrack:
1. Если где–то надо знать размер структур, то для них есть extern size_t nfexp_maxsize(void);
2. Если я захочу XML, я могу воспользоваться форматтером. А если не захочу, то мне не придётся парсить принудительно отформатированный XML, который я не просил. Я просто возьму данные из структур, которые мне придут в обработчик.
3. У обработчиков событий есть указатель на User_Data, как и положено в нормальных API.
4. И никаких varargs, ни даже va_list.

@OCTAGRAM:
OCTAGRAM

Ура! Откопал ещё такую штуку, как локальные процедуры в gcc, и работают они, как выясняется, так же, как и в GNAT, вот только локальную процедуру на Си из процедуры на Аде не вызовешь, а из локальной процедуры на Си надо тоже что–то вызывать, и удобно, чтобы это было тоже замыкание, только адское, и вот, замыкание замыканием погоняет, а внутри ещё varargs, но весь этот страх похоронен в деталях реализации, и снаружи всё красиво. Сделал, чтобы из этой штуки могло ещё и исключение вылететь, но только так, чтобы облетало стороной сишный код при помощи Save_Occurrence/Reraise_Occurrence.
Теперь осталось всего ничего, распарсить XML да загнать список многострадальных IP в контейнер–множество строк.

@OCTAGRAM:
OCTAGRAM

Поизучал API Dyncall. Заметно лучше, чем у libffi. Однако ту задачу, ради которой я обращаюсь к такой библиотеке в нативном языке, решить не может.
Здесь даются функции, при помощи которых можно забирать аргументы.
Вот только здесь нет возможности получить va_list, чтоб я его загнал в vasprintf. Не самому же мне реализовывать printf, как того требует libipset API.

@OCTAGRAM:
OCTAGRAM

Вот уже вторая библиотека с кривым API.
Чтобы создать сигнатуру функции, нужно указать разновидность ABI.
gcc -c -fdump-ada-spec -D__USE_GNU -C -fada-spec-parent=IPSet.Thin /usr/include/x86_64-linux-gnu/ffi.h
честно сгенерил:
subtype ffi_abi is unsigned;
FFI_FIRST_ABI : constant ffi_abi := 0;
FFI_SYSV : constant ffi_abi := 1;
FFI_UNIX64 : constant ffi_abi := 2;
FFI_LAST_ABI : constant ffi_abi := 3;
FFI_DEFAULT_ABI : constant ffi_abi := 2; — /usr/include/x86_64-linux-gnu/ffitarget.h:75
Однако, этот код получается специфичен для платформы x86_64-linux. Обычно нужен FFI_DEFAULT_ABI, но он везде разный. На x86-windows он будет равен FFI_MS_CDECL, который 5. Указать константное (в прямом смысле этого слова, а не как у libffi) значение типа 0 не получится. Разработчики позаботились, чтобы такие значения не корректировались к дефолту, а вызывали FFI_BAD_ABI. Функции, возвращающей значение по умолчанию, тоже не просматривается.
А, чтобы создать замыкание, нужно знать его размер, который тоже на разных платформах отличается, и нет функции, чтобы этот размер узнать. А знать это размер обязательно, ведь это аргумент ffi_closure_alloc, и если указать 0 или меньше, он мог бы тоже автоматически быть увеличен до минимального значения. Но нет. Размер идёт напрямую в malloc(), без коррекций. Впрочем, можно просто перебрать все папки для всех архитектур и узнать максимальный размер в 88 байтов (64 байта трамплина на CRIS CPU + 3 указателя) и выделять с запасом. Ну или добавить в адский проект сишный файлик чисто чтоб узнавать размер замыкания и значение по умолчанию, доделав за разработчиками их работу.

Нет, вы не подумайте, я вообще за open source всей душой, но опенсурщики сами напрашиваются, чтобы их код заслуженно считался парашей. Ну не было такого в WinAPI. Не было. Вообще, чем больше я вижу таких API, тем более божественным мне кажется WinAPI. Не помню, чтоб я там где–то так парился. Тот open source, за который я всей душой как–то сильно отличается от того open source, который есть.

@OCTAGRAM:
OCTAGRAM

Разбираюсь по работе с libipset API
Эти козлы сделали всё возможное, чтоб мне жизнь мёдом не казалось.
1. Чтобы мне получить список IP, присутствующих сейчас во множестве, мне нужно предоставить процедуру вывода, создать сессию, которая будет писать свой вывод этой процедурой, установить формат вывода XML, отправить команду list, подхватить вывод в буфер, распарсить XML из буфера, и только тогда я получу желанный список IP. Я вообще думал, для программистов должен быть какой–нибудь интерфейс попроще.
1. callback для вывода текста принимает varargs. Вот всю жизнь мечтал printf реализовать. Буду пробовать при помощи vasprintf оградить себя от этой пакости.
1. Нет UserData указателя, чтоб мне как–то отличать, кто пришёл в процедуру печати. Варианты лечения: создать пул трамплинов, использовать thread local storage или попробовать использовать GNAT'ский генератор трамплинов для замыканий. Последнее — сильная магия, но вдруг получится.

С WinAPI тааааааааакого геморроя не было. Не помню, чтоб там где–то мог быть CallBack без UserData. И varargs в stdcall не особо получится сделать всяким умникам.

@ugnich:
ugnich

В продолжение #2816301. Серьезно нужен API чтобы проверял наличие аккаунтов в Facebook/WhatsApp/прочих_соцсетях_и_мессенджерах по номеру телефона. Возвращать нужно имена, аватарки и, если есть, дату последней активности (чтобы понимать, аккаунт активен или заброшен). С радостью заплачу за каждый запрос к такому API. Кому нести деньги?

@vt:
vt

Из апи убраны user_id — ленту можно получать по нику, api.juick.com — и page — ленту можно пейджить по before_mid, пример есть на github.com и на netneladno.ru

@qubit:
qubit

Хороший справочный материал для разработчиков API vinaysahni.com

@Lis:
Lis

Есть запрос goo.gl в котором access_token работатет всего час как его обновить, не осилил. Доки гугла читал, жуйк помоги.

@Zert:
Zert

Реально битоёбство во все поля. Посади дурака апи проектировать — он там биты разведёт и руки порежет.

@egplife:
egplife

во, люди, вопрос → а где взять простой апи для грубой оценки курса бакса к рублю в текущий момент?

лучше на Java или на худой конец Linux, можно на других платформах и языках

особой крутизны апи и сервиса не надо

просто чтоб руками в эксели не вбивать

@duckling:
duckling

Я поняла, что ничего не знаю про http api. Один раз в курсе NLP пришлось использовать Twitter API (строили модель для эмоциональной окраски сообщений, кажется). Сейчас по работе нужно вести кусочек проекта, где этот API проектируется. Я пока прочитала wikipedia и попробовала что-то погуглить, но у меня нет представления о POST, GET и картины в целом. Есть ли статья, где объяснили, как это устроено?

@veet:
veet

github.com Прикольная библиотечка для обёртки веб api. Быстрый пример из документации

>> import tortilla
>> github = tortilla.wrap('https://api.github.com')
>> user = github.users.get('octocat')
>> user.location
u'San Francisco'

@NokitaKaze:
NokitaKaze

api.juick.com
Вот кто так пишет timestamp? Чтобы сложнее было спарсить что ли?

@RA:
RA

Зачем это оставлять прямо вот так
developers.facebook.com
если известно что оно уже год как не работает
stackoverflow.com

@maximko:
maximko

Набыдлокодил бота, который при входящем звонке отвечает и начинает запись, а по окончании вызова скидывает ссылку на запись позвонившему пользователю. Передачу файла прямо в скайп не осилил.

@Yurtaev:
Yurtaev

Я же говорил что всё идёт к BaaS

@TLemur:
TLemur

@ugnich почини JSON в сообщениях с несколькими абзацами.
Сейчас идёт так: "body": "Украина — суть шагреневая кожа.
\nПока потаенные желания украинствующих не выражаются вслух, — она цела..."
Должно быть так: "body": "Украина — суть шагреневая кожа.\nПока потаенные желания украинствующих не выражаются вслух, — она цела..."
Я ясно выражаюсь?

@FGNTFG:
FGNTFG

@ugnich, расскажи о авторизации на juick.com для приложений. Например если я сделаю свой жуйкоклиент, через веб, с всякими штуками, то как лучше реализовать авторизацию пользователей?

@wlan:
wlan

support.skype.com

Интерфейс Desktop API был создан в 2004 году и не поддерживает разработку мобильных приложений. Поэтому мы прекращаем поддержку Desktop API в декабре 2013 г.

Где моя мультиклиентность и мультиаккаунтность, суки?

@lurker:
lurker

jsonp сломан нах — SyntaxError: unterminated string literal @ api.juick.com jsfiddle.net

@lurker:
lurker

очередной эксперимент никак не доходят руки закончить

@lurker:
lurker

редиска @ugnich видимо считает, что это смешно в случае ненахождения результатов поиска возвращать 404. callback([]) было бы слишком банально.

@lurker:
lurker

wtf?
Поиск по сообщениям:
api.juick.com
Для списков сообщений выводится одна «страница». Для вывода дополнительных «страниц»: параметры before_mid, page
api.juick.com последнего загруженного сообщения&page=page
нафига пейдж если есть before_mid? почему вывод api.juick.com идентичен запросу без before_mid и/или page?

@dimas000:
dimas000

офигеть! я осилил подключение к вконтактику через ихний апи из консоли (с помощью curl), без запуска браузера (главное POST'ом передать что надо, а потом оно само редиректит куда надо, остается только отгрепать access_token в ответных хедерах).
не так уж плохо у них с документацией — по крайней мере, на аглицком понятно, на русском читать даже не пытался))
короче, можно сказать, есть почти прототипчик консольного клиента))) получилось законнектиться, получить список другов, почитать сообщения, ну и остальное должно работать. пока только в сыром виде, надо чем-то парсить json/xml. а вообще — можно слепить интерактивную обертку на баше, и вот вам труЪ-клиент)) ну а отсылать входящие сообщения себе в жаббер можно уже сейчас.
все-таки curl — великая вещь! ну и opera dragonfly тоже, куда б я без нее.
так что если кому интересно — могу показать наброски. а там уж можно хоть новый джаббер-транспорт городить

@paulfertser:
paulfertser

Похоже, что единственные, кто предоставляют API (в т.ч. физлицам) — это bank24.ru (возможности API: проверка балансов, выдача платёжных поручений, получение уведомлений о транзакциях). Из услуг — Visa и MasterCard карты к счетам с управлением через интернет. API нестандартное, но вроде бы относительно простое в реализации.

@Michae1:
Michae1

Решил попробовать поиграться на ruby с местным API и посмотреть, на сколько меняется жуйкоактивность в зависимости от дня недели. Результаты оказались предсказуемыми: в выходные активность падает на 23 % :)
github.com — файлик с расчётами.

@veet:
veet

Товарищи, а кто мне подскажет как происходит авторизация в HTTP API жуйка? А то методы для авторизированного пользователя тут juick.com вижу, а самой авторизации — нет.

@skobkin-ru:
skobkin-ru

$json = file_get_contents('http://api.juick.com/users/readers?uname=skobkin-ru');
$sub = json_decode($json, TRUE);
echo count($sub);
171
А теперь глядим на веб-морду:
My readers: 183Подозреваю, что это подписчики без юзернеймов. Но всё равно, получается, по данным API подписчиков посчитать нельзя.

@skobkin-ru:
skobkin-ru

Новое HTTP-API жуйка — уняня.
То, что раньше благодаря парсингу страниц делалось 30+ секунд, теперь делается 0.9 секунды.

@schors:
schors

а вот у vk API — это старый мордакнижный. но с очень простой документацией

@schors:
schors

приноровившись, Graph API мордакниги в принципе ложится в мозг. но документацию к нему писали видимо русские, убежавшие с русских военных предприятий (ржавой продукцией которых так любит бравировать нынешняя молодёжь) в лихие 90-ые. написано явно для чтения шпионами.

@k0st1x:
k0st1x

@ugnich, что за бардак, посылаю запросы по rest api с заголовком
Accept-Encoding: gzip, deflate
а оно мне несжатое возвращает

@V1ncE:
V1ncE

Пам-парам-парам, API-лки!

@k0st1x:
k0st1x

@ugnich, столкнулся с проблемой REST API
есть post сообщение "! #XXXXX", которое рекомендует или убирает рекомендацию.
но в ответ сервис не шлет, что именно было сделано.
как быть?
может каким то обходным путем?

@amrok:
amrok

Ребзя, а есть возможность сайту получать фотки из iCloud? Есть прога для iPhone, которая фотографирует, измеряет, заполняет данные в EXIF. Требуется автоматически эти фотографии всасывать на сайт.
Был бы это DropBox я бы знал, что делать: авторизовать сайт и дать ему доступ к каталогу с фотками (в случае андроеда — к подкаталогу). А вот про iCloud не могу найти ничего похожего. Но я и не специалист. Кто поможет и подскажет?

@Vixen:
Vixen

Жаль в описании API не сказано ровным счетом ничего про авторизацию. В сорцах жуйко-клиента под андроид творится какая-то темная магия с android.account manager и base64.