Pull to refresh

Библиотека для работы с API Яндекс.Денег и демонстрационное Android-приложение

Development for Android *
Добрый день, хабросообщество.

Хочу поделиться своей разработкой — Android-библиотекой для работы с API Яндекс.Денег.

Не далее чем 15 апреля Яндекс открыл API для работы с Я.Деньгами. Как и все ранее открытые API по работе с сервисами Яндекса, он основывается на авторизации через OAuth. В текущей реализации API позволяет запрашивать информацию об аккаунте, запрашивать список операций по счету и совершать платежи по шаблонам. Подробно — в документации, вопросы можно задать в клубе разработчиков.

В результате была запилена библиотека и демо-приложение для Android, работающее с кошельком через API.
Далее подробности
Total votes 33: ↑31 and ↓2 +29
Views 3.3K
Comments 2

Yandex Translate API: PHP и небольшое исследование сервиса

PHP *
Sandbox
После закрытия Гуглом своих API для перевода проблема поиска онлайн-сервис для машинного перевода стала особенно актуальной.
В Интернете много сервисов перевода с громкими именами: Промт, Прагма и пр. Нет никакой проблемы в PHP смоделировать обращения к страницам сервисов и получить результаты перевода. Но есть проблема: почти все сервисы в ответ на простой GET или POST запрос отдают не результат перевода, а целиком страницу во всей красе, начиная с DTD. Как говорят у нас на Украине, “дурных нэма”.
После анализа было выяснено, что есть только два сервиса, которые отдают в ответ на запрос только результат перевода: Яндекс и Bing от Microsoft.
Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Views 48K
Comments 20

Создание пользовательского контрола карты с помощью API Яндекс.Карт 2.0

Maps API *API *Yandex API *

Есть у карт Рамблера одно интересное дизайнерское решение, отсутствующее в других картах. Это контрол центра карты, благодаря которому показывается на что направлен текущий центр карты. Именно на примере этой функциональности я бы хотел рассказать вам о том, как сделать свой контрол для карт на своем сайте.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 9.3K
Comments 4

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Website development *API *
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Total votes 126: ↑116 and ↓10 +106
Views 334K
Comments 181

Вышла новая версия Яндекс.Браузера: с синхронизацией и API Табло

Яндекс corporate blog Yandex API *
Сегодня вышла новая версия Яндекс.Браузера. Теперь в нём есть:

  • синхронизация между разными компьютерами с помощью технологий Яндекс.Диска;
  • возможность продолжать поиск прямо в омнибоксе — и не только на Яндексе;
  • подсказки о страницах сайтов, на которых вы даже ещё не были;
  • возможность с помощью API настроить представление своего сайта в Табло и много других важных улучшений.

Окно синхронизации в Яндекс.Браузере
На Хабре о Яндекс.Браузере мы рассказывали последний раз, когда в нём появился режим Турбо. Мы подсчитали, что сейчас в день им пользуется 10% всей аудитории нашего браузера; экономия трафика составляет 45%. Ежемесячно через Турбо проходит около 1,3 млрд веб-страниц.

На сегодняшний день недельная аудитория Яндекс.Браузера в России достигла 4,8М пользователей, а доля в Рунете — 4,7%. К слову, за время, прошедшее с момента выхода прошлой версии, мы не только развивали возможности своего браузера, но и присоединились к работе над проектом Хромиум.
Итак, что же нового в этой версии Яндекс.Браузера, и почему это стоит вашего внимания
Total votes 139: ↑98 and ↓41 +57
Views 59K
Comments 179

Пишем простой аналог клиента Яндекс.Диск под Linux (и Windows)

Open source *Yandex API *
Sandbox
Всем доброго времени суток!

Хочу рассказать о том как можно, используя FUSE написать программу-клиент для Яндекс.Диск и подобных сервисов. У программы будет несложный, но симпатишный GUI.
Читать дальше →
Total votes 49: ↑42 and ↓7 +35
Views 18K
Comments 10

Использование сервиса Yandex Direct на примере метода GetRegions (WCF клиент)

.NET *
Яндекс.Директ работает некорректно по протоколу SOAP, так как фактическая схема данных, используемая в ответах на запросы не совпадает со схемой из предоставленного сервисом описания WSDL. А именно не совпадает пространство имен (вместо «API» приходит «namespaces.soaplite.com/perl» и «xml.apache.org/xml-soap»), а также имена параметров (например, в методе GetRegions вместо имени «return» приходит «ArrayOfRegionInfo»).
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views 5.6K
Comments 3

Реализация и тестирование Qt C++ клиента сетевого сервиса с асинхронным интерфейсом на примере Yandex Dictionary Api

C++ *Qt *Yandex API *
Sandbox
Есть у меня один проект долгострой, в котором использую Yandex Dictionary Api. В процессе разработки решил поделиться опытом создания асинхронного интерфейса к интернет-сервису.

Если у вас есть интерес, как реализовать такой клиент с помощью Qt C++, то этот пост для вас.

Я не стал заострять внимания на тех моментах Qt, которые и так хорошо описаны. В статье я попытался раскрыть, как создавать асинхронные классы в Qt на базе конкретного примера.

Пример программы


Программа посылает на сервер Yandex Dictioanary Api запросы на перевод слов и затем, по мере поступления ответов от сервиса, выводит их на экран.

#include "Precompiled.h"
#include <QtYandexApi/QtYandexApi.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QtYandexDictionary yandexDictionary(QtYandexApi::getYandexKeyFromFile("dictKey"));
    QObject::connect(&yandexDictionary, &QtYandexDictionary::translated,
                     [](const QtYaWordTranslation& wordTranslation)
    {
        if (wordTranslation.isError())
            qDebug() << wordTranslation.errorString();
        else {
            QtYaWord wordForTranslation = wordTranslation.wordForTranslation();
            QtYaTranslatedWord translatedWord = wordTranslation.translatedWord();
            qDebug() << "\n***************";
            qDebug() << "Word: " << wordForTranslation.wordName();
            qDebug() << "Direction: " << wordForTranslation.fromLanguage() << "-" << wordForTranslation.toLanguage();
            qDebug() << "Main translation: " << translatedWord.mainTranslation();
            qDebug() << "Synonyms: " << translatedWord.synonyms();
            qDebug() << "Examples: ";
            for (const auto& example : translatedWord.examples()) {
                qDebug() << example.first << "-" << example.second;
            }
        }
    });

    QStringList russianWords, englishWords;
    russianWords << "дом" << "время" << "легенда" << "ключ" << "клавиатура" << "монитор" << "случай" << "один" << "два" << "три" << "четыре" << "пять" << "шесть";
    englishWords << "home" << "time" << "legend" << "key" << "keyboard" << "monitor" << "infection" << "one" << "two" << "three" << "four" << "five" << "success";

    for (const QString& word : russianWords) {
        yandexDictionary.translate(QtYaWord(word, "ru", "en"));
    }
    for (const QString& word : englishWords) {
        yandexDictionary.translate(QtYaWord(word, "en", "ru"));
    }

    return a.exec();
}


Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Views 8.9K
Comments 12

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

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

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

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


Подробности под катом!
Total votes 32: ↑29 and ↓3 +26
Views 67K
Comments 40

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

Development for iOS *API *Yandex API *Objective C *
Sandbox


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

Поиск решения этой проблемы среди имеющегося API привели к использованию объекта resourceLoader в AVURLAsset. С его помощью мы предоставляем доступ к файлу, размещенному на удаленном ресурсе, для AVPlayer. Работает это по принципу локального HTTP прокси но с максимальным упрощением для использования.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 13K
Comments 3

go-скрипт который делает аудиокнигу из текстового файла используя один из лучших синтезаторов речи — Ivona от Amazon

Amazon Web Services *API *Go *
Указываем в скрипте путь на книгу в txt — на выходе получаем папку с озвучкой хорошим синтезом.
Читать дальше →
Total votes 42: ↑34 and ↓8 +26
Views 39K
Comments 36

Dynamic DNS на C# и Яндекс.API

API *Yandex API *C# *
Sandbox
Сегодня, помимо моего любимого занятия (возиться с Arduino в моем кружке детского творчества), решил я поставить себе сервер (Windows 2012 r2) и использовать его для различных манипуляций. Изучив тонну информации, всё прошло гладко.

Когда, закончил экспериментировать в локальной сети, у меня появился вопрос: «Как можно увидеть свой сервер из внешней сети, если у меня динамический IP». Снова помогла всемирная книга знаний и были найдены такие сервисы, как DynDNS, no-ip и т.п.

После регистрации увидел, что нужно качать прогу (в роутере настроек под dyndns нет), а как добросовестный параноик, я не люблю ставить сторонний софт. Вспомнив, что имею при себе домен второго уровня делегированный на Яндексе, принялся изучать сторону вопроса, для написания своего софта на C#.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views 11K
Comments 21

Пишем Ruby gem для Yandex Direct API

Ruby *Ruby on Rails *
Tutorial

Очень хотелось изучить Ruby получше, а рабочего проекта не было. И я попробовал написать gem для работы с Yandex Direct API.


Причин было несколько. Среди них: Yandex Direct API очень типичен для Яндекса и современных REST-сервисов вообще. Если разобраться и преодолеть типичные ошибки, то можно легко и быстро написать аналоги для прочих API Яндекса (и не только). И ещё: у всех аналогов, которые мне удалось найти, были проблемы с поддержкой версий Директа: одни были заточены под 4, другие под новую 5, и поддержке units я нигде не нашёл.


Метапрограммирование — великая вещь


Основная идея gem-а — раз в языке вроде Ruby или Python можно создавать новые методы и JSON-подобные объекты на лету, то методы интерфейс для доступа к REST-сервису могут повторять функции самого Rest-сервиса. Чтобы можно было писать так:


request = {
    "SelectionCriteria" => {
      "Types" => ["TEXT_CAMPAIGN"]
    },
    "FieldNames" => ["Id", "Name"],
    "TextCampaignFieldNames" => ["BiddingStrategy"]
}

options = { token: Token }
@direct = Ya::API::Direct::Client.new(options)
json = direct.campaigns.get(request)

А вместо того, чтобы писать справку, отсылать пользователей к мануалам по указанному API.

Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views 11K
Comments 0

Обработка голосовых запросов в Telegram с помощью Yandex SpeechKit Cloud

Python *Yandex API *Open data *
Sandbox

Как все начиналось


Этим летом я участвовал в разработке бота Datatron, предоставляющего доступ с открытыми финансовыми данными РФ. В какой-то момент я захотел, чтобы бот мог обрабатывать голосовые запросы, и для реализации этой задачи решил использовать наработками Яндекса.

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 26K
Comments 3

Caché Localization Manager или i18n в InterSystems Caché

InterSystems corporate blog Programming *Yandex API *


Caché Localization Manager


Если двумя словами, то CLM это утилита, которая может быть полезна при локализации/интернационализации/добавлении мультиязычности проектов на InterSystems Caché.
Total votes 19: ↑19 and ↓0 +19
Views 2.8K
Comments 2

Как мы интегрировали платежную систему в российский проект

Lodoss Team corporate blog Website development *Payment systems *Node.JS *API *
image

Пять месяцев назад мы опубликовали NPM модуль для работы с новой версией Яндекс.Касса, которая вышла в октябре 2017 года. Наш модуль попал в официальную документацию, и его уже скачали более 1300 раз.

image

На Хабре, совместно с коллегами из Яндекса, мы уже рассказывали об опыте создания модуля, но за кадром остался наш опыт, который мы получили, когда столкнулись с интеграцией платежной системы для российских клиентов.

Поэтому сегодня мы хотим рассказать, как для одного из отечественных клиентов мы переходили от интеграции привычных нам заграничных платежных систем на русские аналоги, с какими трудностями столкнулись и как их решали.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 14K
Comments 3

Как я научил Яндекс.Алису говорить о секс-игрушках

Java *Yandex API *
Sandbox
Интегрируем Яндекс.Алису и интим магазины через Spring boot.

Тема голосовых ассистентов набирает обороты, и я решили присоединиться к этому тренду, интегрировав самого крупного оптового поставщика интим-товаров и Яндекс.Алису.
Читать дальше →
Total votes 32: ↑22 and ↓10 +12
Views 11K
Comments 6

Spothiefy: как переехать из Яндекс.Музыки быстро, бесплатно

Open source *Python *Programming *Social networks and communities
Итак, в июле жизнь в стране наконец стала меняться к лучшему, ведь произошло то, чего многие жители с нетерпением ждали: Spotify запущен в России и ряде других стран.

Но потоковая музыка появилась не вчера и наверняка есть такие, кто подсел на иглу Яндекса и пользуется подпиской на Яндекс.Музыку, которая впоследствии стала Яндекс.Плюсом.

Слушать песни стало удобно, подбираторы научились подбирать хорошие треки и это привело к накоплению библиотеки с плейлистами и прочих удобных штук, которые в новом сервисе нужно заново добавлять.

Eсли хочется попробовать, но вам тоже лень, то я расскажу как перенести пожитки быстро, бесплатно. Нужно всего лишь немного питонов с батарейками.

Пётр и крышка спотифая
Завести трактор
Total votes 57: ↑51 and ↓6 +45
Views 68K
Comments 112

MikoPBX на Aster conf, TTS скрипт для голосования

Open source **nix *API *Asterisk *
Tutorial

Совсем недавно завершилась ежегодная конференция Asterconf. Нам посчастливилось в ней участвовать. На этот раз мы приготовили ряд мастер классов по настройке и кастомизации MikoPBX - бесплатной АТС с открытым исходным кодом.

Одной из задач мастер классов стояла разработка скрипта для интерактивного голосования за строительство гаражного кооператива. Голосование должно было производится без участия оператора, автоматизированное, с защитой от повторного голосования и конечно с механизмом генерации речи.

Если заинтересовало, то под кат, подробно разберем пример реализации...

В конце статьи ссылка на видео с конференции...

Читать далее
Total votes 13: ↑13 and ↓0 +13
Views 1.9K
Comments 0
1