Рубрика «Google API»

В мобильных приложениях всё чаще используются deep links. Это ссылки, которые позволяют не просто перейти в приложение извне, а попасть на конкретный экран. Android-разработчик из Яндекс.Еды Владислав Кожушко объяснил, почему мы для реализации deep links внедрили навигацию из Jetpack, с какими проблемами столкнулись, как их решили и что получилось в итоге.

— Всем привет! Меня зовут Влад. Android-разработкой я интересуюсь с 2013 года, в Яндекс.Еде работаю с лета прошлого года. Я расскажу про наш путь внедрения библиотеки Navigation Components в боевое приложение.

Читать полностью »

Все триггеры IFTTT в Gmail перестанут работать со следующей недели - 1

Популярный мэшап-сервис IFTTT (If This, Then That) позволяет автоматизировать многие действия в интернете, связывая между собой разные приложения. Например, включить свет в комнате при достижении курса N за акцию, добавить строчку в электронную таблицу при поступлении POST-запроса на сервер, автоматическое сохранение на Google Drive всех картинок с публичной веб-камеры по заданному URL, отправка письма при пропущенном звонке, снижение громкости телефона при подключенном Wi-Fi, репост твиттера в Telegram, автоматическое выключение света с восходом солнца и многое другое — варианты ограничены только фантазией лайфхакера и количеством сервисов, которые поддерживает IFTTT. Так вот, этих сервисов теперь станет меньше.

К сожалению, из-за изменений в правилах использования Google API со следующей недели в IFTTT перестанут работать все триггеры Gmail.
Читать полностью »

Как я нашел пасхалку в защите Android и не получил работу в Google - 1 Гугл любит пасхалки. Любит настолько, что найти их можно практически в каждом продукте компании. Традиция пасхалок в Android тянется с самых первых версий операционной системы (я думаю, все в курсе, что будет, если в настройках несколько раз нажать на строчку с версией Android).

Но бывает и так, что пасхалки обнаруживаются в самых неожиданных местах. Есть даже такая легенда: однажды один программист загуглил «mutex lock», а вместо результатов поиска попал на страницу foo.bar, решил все задачи и устроился на работу в Google.

Реконструкция событий

image

Вот такая же удивительная история (только без хэппи-энда) произошла со мной. Скрытые послания там, где их точно не может быть, реверс Java кода и нативных библиотек, секретная виртуальная машина, прохождение собеседования в Google — все это под катом.
Читать полностью »

Google объявила о закрытии социальной сети Google+. Трудно найти техническое издание, которое бы не упомянуло хотя бы вскользь о конце амбиций Google в области социальных сетей. Но, увы, вниманием обходится высокая связность сервисов компании добра. В этой статье я хотел бы выразить свои размышления на тему того, как взаимодействуют сервисы гугла внутри и что может означать закрытие G+ для пользователей API сервисов Google.

Читать полностью »

Предыстория

Появилась задача собрать данные по 2000+ youtube видео, из которых необходимо было извлечь название видео, канала и язык.

Функция IMPORTXML, с помощью которой можно выполнять парсинг с сайтов, — не помогла, поскольку, как оказалось в дальнейшем, youtube хранит данные в JSON файлах. Перебирать руками такое количество видео не хотелось и я начал искать способы как автоматизировать или хотя бы упростить эту задачу.
Читать полностью »

Предисловие

Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище.

Но приложение «хостится» на GitHub Pages и не имеет серверной части. Я решил не делать сервер, а данные хранить у третьей стороны. Это дает существенные преимущества:

  1. Не нужно платить за сервер, не болит голова о его стабильности и доступности.
  2. Меньше кода, меньше ошибок.
  3. Пользователю не нужно регистрироваться в моем приложении (это многих раздражает).
  4. Приватность выше, и пользователь знает, что его данные хранятся в месте, которому он, скорее всего, доверяет больше, чем мне.

Сначала выбор пал на remoteStorage.js. Они предлагают открытый протокол обмена данными, достаточно приятное API, возможность интеграции с Google Drive и Dropbox, а также свои сервера. Но этот путь оказался тупиковым (почему — отдельная история).

В итоге решил использовать Google Drive напрямую, и Google API Client Library (далее GAPI) как библиотеку для доступа к нему.

К сожалению, документация Google разочаровывает, а библиотека GAPI выглядит недоработанной, к тому же имеет несколько версий, и не всегда понятно, о какой из них идет речь. Поэтому решение моих задач пришлось собирать по кусочкам из документации, вопросов и ответов на StackOverflow и случайных постов в интернете.

Надеюсь, данная статья сэкономит вам время, если вы решите использовать Google Drive в вашем приложении.
Читать полностью »

Сразу скажу, что этот способ предназначен для тех, у кого вся инфраструктура повседневной жизни находится на сервисах Гугл и переход на Яндекс.Календарь составляет трудность.
В один благополучный день когда я сидел за компьютером, знакомые позвонили и сказали что:

Ты «Юлю» вчера с днём рождения поздравил?

И как делает каждый из нас, я ударил себя по лбу и сказал "DOH"

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

Наткнулся на Google Календарь, но не успел я начать им пользоваться, как через неделю закрыли доступ к бесплатным смс уведомлениям.

Начиная с 27 июня 2015-го года календарь Google прекратил отправку SMS-оповещений пользователям. Изначально эта возможность появилась ещё до того, как смартфоны стали важным атрибутом нашей повседневной жизни. Однако сейчас во всех смартфонах имеются Push-уведомления, которые позволяют расширить возможности мобильного устройства, а значит функция отправки SMS-уведомлений теряет свою актуальность. Ведь для того, чтобы получать уведомления на девайс, теперь достаточно использовать встроенное в него приложение календаря или же установить календарь Google для iPhone или Android

В то время, я уже был знаком с сервисом СМС.ру и у них была отличная функция email2sms с отправкой 5 бесплатных смс в день на свой номер.
Читать полностью »

Приложения-хранилища банковских карт стремительно вошли в нашу жизнь благодаря Apple Wallet и Google Pay. Обе платформы, помимо банковских, позволяют также работать и с другими типами карт — картами лояльности, подарочными картами, билетами на мероприятия, посадочными талонами и т.д.
 

Карты лояльности. Google Pay API for Passes в ASP.NET - 1

Работая в компании, которая занимается обслуживанием одной немаленькой ритейловой сети, мне пришлось интегрировать карты лояльности этой сети в Apple Wallet и Google Pay. И если с Apple Wallet пришлось повозиться только потому что интеграционный слой довольно многофункционален, то с Google Pay большая часть усилий и нервных клеток была потрачена на то чтобы разобраться в документации, найти подходящие инструменты и разработать первый proof of concept. Хоть в целом остальная часть работы прошла гораздо быстрее, чем для Apple Wallet, я потратил день на то чтобы разобраться в том как завести сервис, так что был бы не против, если бы кто-то написал подобную статью до меня.
Читать полностью »

«CMS» на базе Google Spreadsheets для статических сайтов - 1

Все чаще для рассказа о мероприятии/товаре/услуге компании создают сайты на базе каких либо конструкторов. Либо своими силами, либо привлекая дизайнеров и без участия программиста. Современные конструкторы позволяют собрать классный, яркий, эффектный сайт, но статичный. Любые изменения нужно вносить «ручками в редакторе» и перепубликовать страницу. Но что делать, если данные меняются очень часто или хочется добавить немного автоматизации — вот тут и могут помочь Гугл Таблицы и Charts Query Language (и знакомы программист).
Читать полностью »

За последние годы Google Keep и Calendar значительно расширили свою функциональность, что дает возможность построить более удобную реализацию методологии GTD (Getting Things Done) на их основе. Ранее я уже публиковал материал с реализацией GTD на основе Google Calendar. Представленный теперь материал можно рассматривать как обновленную реализацию GTD на тех же принципах, но с использованием более современных средств.

В моем материале 2015 года в качестве базового элемента для всех пяти фаз управления рабочим процессом (Control) в системе GTD был выбран один и тот же сервис — Google Calendar. Теперь на различных фазах в качестве базовых элементов будут использоваться два разных сервиса — Calendar и Keep — в соответствии с приспособленностью их функционала для отдельных фаз.

  • Calendar теперь будет использоваться в качестве базы для фазы обзора (Review-Reflect), а также для фазы выполнения (Do-Engage).
  • Keep будет использоваться в качестве базы для фазы сбора (Collect-Capture), фазы обработки (Process-Clarify) и фазы организации (Organize).

Реализация GTD в Google Calendar (развернут список ближайших действий на неделю):
Реализация системы GTD на основе новых возможностей Google Keep и Calendar - 1

Pеализация GTD в Google Keep (категория ближайших действий):
Читать полностью »