Все потоки
Поиск
Написать публикацию
Обновить
6.02

Яндекс API *

Пишем под сервисы Яндекса

Сначала показывать
Порог рейтинга
Уровень сложности

Пришла беда откуда не ждали, уязвимость XSS в сервисе Яндекс.Метрика

Время на прочтение1 мин
Количество просмотров29K
Доброе время суток хабравчане! Буквально на днях я опубликовал статью по документации Web API и нашлись люди, которые попробовали применить XSS на сервисе, который был на этом же домене. Но особо не получилось это сделать. Точнее получилось, но не на этом сервисе. За подробностями прошу под кат.


Подробности

Анализ звонков в колл-центры

Время на прочтение3 мин
Количество просмотров7.2K
Для проверки технологии я записал несколько обращений в разные колл-центры. Дальше они будут фигурировать под кодовыми названиями: water, mosenergo, rigla, transaero и worldclass.


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

Анимация фильтрации маркеров в Yandex Maps API

Время на прочтение3 мин
Количество просмотров12K
Последняя версия API Яндекс-Карт всем хороша. Но нет предела совершенству. Захотелось, чтобы фильтрация объектов на карте происходила через fade.
Давайте разберемся, возможно ли это.

Читать дальше →

Визуализация геоданных сети референцных станций Санкт-Петербурга

Время на прочтение2 мин
Количество просмотров7.1K

Идея


В октябре 2014 года на Хабре была опубликована статья Яндекса о построении тепловых карт. Тепловая карта — наиполезнейший инструмент, когда требуется представить трехмерные данные на плоскости. В рамках работы над созданием веб-интерфейса по обслуживанию сети референцных станций Санкт-Петербурга возникла идея визуализировать данные, получаемые пользователями на геодезических работах. Также хотелось найти взаимосвязи между деятельностью изыскательных организаций и градостроительными процессами на территории Санкт-Петербурга.
Читать дальше →

Яндекс-Перевод в терминале через Java

Время на прочтение3 мин
Количество просмотров22K
Используя API переводчика написал для себя простую программу для перевода слов и фраз, и чтобы из любого места работало. Хотел использовать curl, но непонятно почему получал ошибку что такого языка нет.

Теперь вместо скучного, а иногда медленного, а иногда такого ярко-белого нового таба с лишней информацией пишу в терминале trans hello и получаю перевод на русский, а если trans привет — на английский. Разумеется можно вводить и фразы, в кавычках. Работает быстренько.
Читать дальше →

DataSync API от Яндекс.Диска: облако для приложений и структурированных данных

Время на прочтение5 мин
Количество просмотров28K
Для синхронизации данных в приложениях не подходят обычные «файловые» облачные хранилища. Слишком много проблем с консистентностью данных приходится решать самим авторам приложений. Поэтому сегодня мы открываем всем желающим технологию DataSync API, которую команда Яндекс.Диска разрабатывала для собственных сервисов Яндекса. Она позволяет синхронизировать структурированные данные между облачным хранилищем и устройствами. API использует логин Яндекса, который есть почти у каждого пользователя интернета в России и у многих в других странах. DataSync мультиплатформенный и не завязан только на Android или iOS.



Мы правда очень рады, ведь еще три года назад, когда запускался Яндекс.Диск, хотели синхронизировать не только файлы между компьютерами, а вообще любые данные между всеми устройствами человека. Наша цифровая жизнь – это не только файлы, но еще и точки на картах, маршруты, закладки в браузере, список рекордов в компьютерной игре и много другое.

Уже более двух лет Яндекс.Браузер работает на технологиях синхронизации Я.Диска. В ближайшем будущем другие крупные сервисы Яндекса начнут объединять свои платформы на DataSync. Под катом — больше подробностей о том, как он устроен, зачем нужен, и примеры, на которых можно посмотреть и попробовать, как всё работает.
Читать дальше →

Оплата на счет Яндекс.Денег картой VISA/MasterCard или как заблокировать произвольный кошелек

Время на прочтение5 мин
Количество просмотров87K


Без малого год назад запустил у себя на сайте прием платежей на счет в Яндекс.Деньгах с банковских карт VISA/MasterCard. Без проблем не обошлось, но, в итоге, все заработало.

Недавно, примерно 9 февраля, на на один из кошельков в Яндекс.Деньгах внезапно перестали приходить переводы, сделанные картой. При этом переводы, сделанные Яндекс.Деньгами продолжали исправно приходить.

В чем причина, кто виноват, и как можно (попробовать) заблокировать любой счет в Яндекс.Деньгах для приема средств через VISA/MasterCard — попробуем разобраться под катом
Читать дальше →

Попытка реинкарнации и вброс в Open-Source Яндекс.Подписок

Время на прочтение2 мин
Количество просмотров12K
Привет, хабрасообщество! Многие заметили, что Яндекс закрыл сервис подписок. Читая комментарии, у меня возникла идея создать аналог. Поднять его на API от Яндекса, после чего перевести его, так сказать, на автономное питание, заменив API на свое (не переживайте, я не сделаю это так незаметно, как сделал это Великий Желтый).

Был создан репозиторий на гитхабе, зарегистрирован временный домен в зоне .tk (почему временный, я думаю, объяснять не стоит. Кому интересен сей проект, милости прошу под кат.
Читать дальше →

Яндекс убил сервис Подписки

Время на прочтение1 мин
Количество просмотров34K


Сегодня Яндекс убил сервис Яндекс.Подписки. Несмотря на то, что о нём гордо писали во время закрытия Google Reader, мол — мы остаёмся, теперь сервис убит и всех насильно перетащили в Яндекс.Новости.

Можно скачать архив подписок, который там был. Но там в xml-файле только адреса rss-лент.
Самое ужасное, что они потеряли все непрочитанные статьи. Я вот, например, некоторые записи в ленте держал непрочитанными, чтобы позже к ним вернуться, когда будет время.

API, пока что, работает, через него ещё можно спасти непрочитанное. Сдаётся мне, что его тоже убьют.

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

Пост в Блоге Яндекс.Почты с анонсом.

UPDATE: с 31 марта закрыт и API сервиса.

Стриминг аудио в iOS на примере Яндекс.Диск

Время на прочтение12 мин
Количество просмотров14K


Во время работы над проектом по стримингу аудио необходимо было добавить поддержку новых сервисов, таких как Яндекс.Диск. Работа с аудио в приложении реализована через AVPlayer, который проигрывает файлы по url и поддерживает стандартные схемы, такие как file, http, https. Все работает отлично для сервисов, в которых токен авторизации передается в url запроса, среди них DropBox, Box, Google Drive. Для таких сервисов, как Яндекс.Диск, токен авторизации передается в заголовке запроса и к нему AVPlayer доступ не предоставляет.

Поиск решения этой проблемы среди имеющегося API привели к использованию объекта resourceLoader в AVURLAsset. С его помощью мы предоставляем доступ к файлу, размещенному на удаленном ресурсе, для AVPlayer. Работает это по принципу локального HTTP прокси но с максимальным упрощением для использования.
Читать дальше →

Интерфейс для Яндекс.Диска в Ubuntu 14.04

Время на прочтение3 мин
Количество просмотров44K
image

Как известно, Яндекс.Диск на Ubuntu существует только как консольный клиент. Сегодня я решил «хватит это терпеть» и написал для себя простенький скрипт, который значительно упрощает работу с ним (исходники внизу статьи).
Читать дальше →

Запросы к Яндекс в прямом эфире

Время на прочтение1 мин
Количество просмотров75K
Всем привет!
Некоторое время назад наткнулся на интересную штуковину: http://export.yandex.ru/last/last20x.xml — последние запросы к поисковой системе Яндекс.

Сидел, обновлял ее, наверное, час, уж очень это дело интересное, смотреть, что люди у Яндекса спрашивают.
Не смог найти
Помню, был пост «Запросы к Яндексу – в прямом эфире», там демонстрировали карту с запросами, но почему-то сейчас ссылка не работает.

Вспомнил, что когда-то видел страницу, где плитками показывались запросы к google.ru, и решил сделать свою, только про Яндекс, со всеми вытекающими.


Подробности под катом!

Былина о том, как я Drupal и Яндекс.ПДД связывал

Время на прочтение10 мин
Количество просмотров10K
Некоторое время назад у меня была идея сделать городской сайт (естественно, очередной) для одного небольшого городка на базе Drupal. Как раз незадолго до этого Яндекс расширил функционал своей Почты для доменов и добавил возможность управлять ящиками через API. И в голове зародилась мысль: а почему бы и нет? Почему бы не предоставить пользователям возможность одновременно с регистрацией на городском портале получать почтовый ящик в городском домене? Сама по себе идея, конечно, не удивительна, однако готовых решений не было. Сайт я так и не запустил, а коду без дела лежать грех.

Как известно, Drupal позиционируется как CMS, ориентированная разработчиков и позволяющая благодаря обширной API разработать хоть систему для управления лунной базой. Я не буду вдаваться в своём посте в её восхваление и самые начальные основы разработки модулей под Drupal, однако начинающие Drupal-разработчики наверняка сочтут материал полезным, а опытным буду благодарен за советы и рекомендации.

Читать дальше →

Ближайшие события

Интерактивное голосовое редактирование текста с помощью новых речевых технологий от Яндекса

Время на прочтение11 мин
Количество просмотров97K
Сегодня наше приложение Диктовка для интерактивного написания и редактирования текста голосом появилось в AppStore и Google Play. Его главная задача — продемонстрировать часть новых возможностей комплекса речевых технологий Яндекса. Именно о том, чем интересны и уникальны наши технологии распознавания и синтеза речи, я хочу рассказать в этом посте.



Пара слов, чтобы вы понимали, о чём пойдёт речь. Яндекс уже давно предоставляет бесплатное мобильное API, которое можно использовать, например, для распознавания адресов и голосовых запросов к поиску. За этот год мы смогли довести его качество почти до того же уровня, на котором такие запросы и реплики понимают сами люди. И теперь мы делаем следующий шаг — модель для распознавания свободной речи на любую тему.

Кроме этого, наш синтез речи поддерживает эмоции в голосе. И, насколько нам известно, это пока первый коммерчески доступный синтез речи с такой возможностью.

Обо всём этом, а также о некоторых других возможностях SpeechKit: об активации голосом, автоматической расстановке пунктуационных знаков и распознавании смысловых объектов в тексте — читайте ниже.
Читать дальше →

ObjectManager в API Яндекс.Карт. Как быстро отрисовать 10 000 меток на карте и не затормозить всё вокруг

Время на прочтение10 мин
Количество просмотров112K
Перед разработчикам, которые используют API Яндекс.Карт, довольно часто встаёт задача отобразить много объектов на карте. Действительно много — порядка 10 000. Причем эта задача актуальна и для нас самих — попробуйте поискать аптеки на Яндексе. На первый взгляд кажется: «А в чем собственно проблема? Бери да показывай». Но пока не начнешь этим заниматься, не поймешь, что проблем на самом деле целый вагон.



Вопросы по большому количеству меток с завидной регулярностью поступают в наш клуб и техподдержку. Кто все эти люди? Кому может быть интересно показать на карте больше 10 меток? В этом посте я подробно рассмотрю весь вагон проблем и расскажу, как в API появились инструменты, помогающие разработчикам оптимально показать большое количество объектов на карте.
Читать дальше →

Особенности загрузки объектов из карты формата KML на карту Яндекса

Время на прочтение2 мин
Количество просмотров16K
В API Яндекс.Карт есть средства для загрузки географических данных в формате XML. API поддерживает карты в двух форматах: YMapsML и KML. В документации по технологиям Яндекса есть пример, илюстрирующий работу с этим форматами.

Глядя на этот пример, можно предположить, что с точки зрения API оба формата эквивалентны, и работа с ними ничем не отличается. Тем более Яндекс предоставляет конструктор карт, в котором каждой карте автоматически назначаются ссылки на оба формата. Эти ссылки отличаются только суффиксом. Карта в формате YMapsML оканчивается на символ /, а адрес той же карты в формате KML на конце содержит символы ".kml".

Независимо от формата XML загрузка геообъектов будет выглядеть так:
var map = new ymaps.Map("map", {
    center: [-25.89, 135.32],
    zoom: 4,
    controls: ["zoomControl"]
});

var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz/";

ymaps.geoXml.load(url).then(function (res) {
    map.geoObjects.add(res.geoObjects);
});


Но если нам понадобится что-то сделать с объектами при загрузке, то мы обнаружим, что формат имеет значение. Предположим, что мы хотим поменять цвет контура у объекта с определенным именем.

Пример загрузки YMapsML
var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz/";

ymaps.geoXml.load(url).then(function (res) {
    res.geoObjects.each(function (obj) {
        if (obj.properties.get("name") == "Бассов пролив") {
            obj.options.set("strokeColor", "0066ffff");
        }
    });
    map.geoObjects.add(res.geoObjects);
});



Оказывается, что если мы заменим адрес на формат KML, то данный код работать не будет, потому что коллекция объектов, загруженная из формата KML отличается от той, что получается при загрузке YMapsML. При загрузке KML получается коллекция объектов, состоящая из одного геобъекта, который сам является коллекцией. И вот этот вложенный объект уже содержит геообъекты, нарисованные на карте.

Поэтому для обработки коллекции, загруженной из KML надо написать вот такой код:

Пример загрузки KML
var url = "http://maps.yandex.ru/export/usermaps/4c4r9MAwI8DLmJKv1H--R0_bvQmHNLDz.kml";

ymaps.geoXml.load(url).then(function (res) {
    res.geoObjects.each(function (obj) {
        obj.each(function (nested) {
            if (nested.properties.get("name") == "Бассов пролив") {
                nested.options.set("strokeColor", "0066ffff");
            }
        });
    });
    map.geoObjects.add(res.geoObjects);
});


Читать дальше →

На Яндекс.Картах теперь можно создавать тепловые карты

Время на прочтение6 мин
Количество просмотров68K
У Яндекс.Карт давно просили сделать средство для визуализации данных с помощью тепловых карт — и мы наконец его сделали. Если вы — один из тех, кому это было очень нужно, можете переходить сразу к чтению документации на гитхабе. Если же вы ещё не знаете, нужно ли это вам, — можете потратить немного времени, чтобы почитать статью про то, что такое тепловые карты, как они генерируются на клиенте, и как мы совместили генерацию тепловой карты с картой географической.


Отображение географических точек из Википедии

Что такое тепловые карты, и зачем они нужны


Итак, обо всем по порядку. Для начала давайте определимся, что такое тепловые карты и с чем их едят? Как подсказывает мне капитан очевидность википедия, тепловые карты (они же теплокарты, они же heatmap) — это графическое представление данных, где дополнительные переменные отображаются при помощи цвета. Такой вид отображения бывает очень удобным. Например, им часто пользуются веб-аналитики, чтобы увидеть наиболее активные части страниц сайта.
Читать дальше →

Как написать собственное приложение с REST API Яндекс.Диска

Время на прочтение11 мин
Количество просмотров47K
Всем привет! Меня зовут Клеменс Ауэр, я занимаюсь разработкой десктопной версии Яндекс.Диска. Когда появился новый REST API, я был настолько впечатлен открывшимися возможностями, что в свободное время начал писать на его основе SDK для нового языка Swift. Я решил рассказать о своем опыте работы новым API и выступил с небольшим докладом о том, как просто начать с его помощью писать собственное приложение. Доклад был на английском, но по-русски я тоже говорю, хотя не так хорошо. На основе своего выступления я подготовил сегодняшний пост, с которым мне помогали мои коллеги.



Начать я хотел бы с некоторых общих вещей о Диске — скорее всего, большую часть из этого вы уже слышали. Затем я расскажу, почему же меня так впечатлил новый API и чем он отличается от WebDAV. Ну а ближе к концу я поделюсь опытом того, как начать разрабатывать под новый API, и разберу несколько примеров своего кода. Его будет совсем немного, но с новым API, чтобы заставить что-то работать, код писать практически не требуется.
Читать дальше →

Почтовый офис Яндекса: как мы сделали сервис, анализирующий результаты рассылок в реалтайме

Время на прочтение4 мин
Количество просмотров26K
У Яндекса есть сервис для добросовестных рассыльщиков писем — Почтовый офис. (Для недобросовестных у нас в Почте есть Антиспам и кнопка «Отписаться».) С его помощью они могут понимать, какое количество их писем пользователи Яндекс.Почты удаляют, сколько времени их читают, насколько дочитывают. Меня зовут Антон Холодков, и я занимался разработкой серверной части этой системы. В этом посте я расскажу о том, как именно мы ее разрабатывали и с какими трудностями столкнулись.



Для рассыльщика интерфейс Почтового офиса полностью прозрачен. Достаточно зарегистрировать в системе свой домен или email. Сервис собирает и анализирует данные по множеству параметров: имени и домену отправителя, времени, признаку спам/не спам, прочитано/не прочитано. Также реализована агрегация по полю list-id — специальному заголовку для идентификации рассылок. Источников данных у нас несколько.
Читать дальше →

Yandex слышит тебя, dude

Время на прочтение4 мин
Количество просмотров44K
image
Неожиданно пришел приказ — написать приложение под iOS, использующее Yandex Speechkit для распознавания русской речи. Точнее, для распознавания коротких фраз на произвольную тему. Цель задания — сравнить успехи яндекс-двигателя с нашим, саровским движком.

Приказали — сделал следующие шаги.

  1. Зашел на yandex.ru в раздел распознавание речи
  2. Зарегистрировался и получил ключ, он же API_KEY
  3. Отправил письмо в yandex с просьбой активировать ключ


На вопрос, как будет использоваться ключ, я ответил, что выпускаю карточную игру Diablo 3-13, управляемую голосом.

Через два дня ключ активировали. Я поначалу нетерпеливо бил копытом, затем понял, что в yandex работают вдумчивые, синхронные сотрудники.
В своем приложении в дальнейшем я также отказался от асинхронных запросов к yandex.api.
Читать дальше →