Как стать автором
Поиск
Написать публикацию
Обновить
-1.95

Google API *

API, предоставляемый сервисами Google

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

Content Indexing API: страницы, доступные в offline. Доклад с RamblerFront #9

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

Здравствуйте, меня зовут Антонина, я работаю frontend-разработчиком в Rambler&Co, в команде Lenta.ru.

Content Indexing API — новый инструмент от Google, показывающий, какие страницы доступны в offline-режиме. Я расскажу, как работает Content Indexing API, когда его следует использовать и как его внедряла наша команда.

Читать далее

Telegram бот на Firebase

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

В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и удобный инструмент (а ещё и бесплатный, при разумных размерах проекта).

Читать далее

Google Sheets — как разноплановый помощник для непростых задач или как я делал анализатор футбольный матчей

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

Лежу я ночью, пытаюсь уснуть. И как обычно тысяча мыслей, и среди них я сумел зацепился за одну. А звучала она так: "почему бы не сделать анализатора футбольных матчей, где нужно будет лишь ввести участников игры и получить выборку из их статистики общей и какие-то описание, чего ждать в грядущем матче". Действительно, почему нет?!

На следующий день, когда я проснулся, я первым же делом пошел гуглить, есть ли такое сейчас, потому что что-то подсказывало, что в нашем мире это слишком банальная затея (та ладна!?). Но я то не просто хотел складывать и делить числа из статистики, мне хотелось учитывать различные факторы спортивного мероприятия, а их большое количество.

Гугл дал свой результат, впрочем как всегда. Я нашел кучу калькуляторов ставок, которые продается за 3-5к рублей, и прочие таблицы расчетов в свободном доступе. Я как бы и так помнил расчеты тоталов голов, но мне нужно было их улучшить и получить на выходе собственно целого "мага/колдуна/вангу" спортивных событий. Или хотя бы формулку, которая выдаст результат после ввода данных.

Читать далее

Отслеживание брошенных корзин с помощью Google Analytics: 4 простых шага

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

Пожалуй один из главных вопросов всех владельцев магазина на Shopify звучит как: почему покупатель бросает корзину и не совершает покупку? Представьте, если бы вы пошли в супермаркет, набрали полную тележку продуктов, но уже подойдя к кассе решили вовсе уйти из магазина, оставив сотрудников магазина в недоумении. В среднем, 70% покупателей покинет магазин, так и не купив товар, добавленный в корзину.

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

Читать далее

Core Web Vitals: как Google решил оценивать сайты

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


Всем привет!

Сегодня поговорим о важности пользовательского взаимодействия, ведь совсем скоро придется подготовить свои сайты к максимальному ускорению загрузки. Возможно, вы уже слышали про Core Web Vitals…

В прошлом году Google начал масштабный пересмотр факторов ранжирования в поисковике, чтобы улучшить качество поисковой выдачи. И в ноябре команда Google анонсировала Core Web Vitals — новые факторы оценки качества ресурсов, которые смогут влиять на индексацию и вступят в силу в мае 2021 года. Давайте разбираться.
Читать дальше →

Создание документов на диске Google на базе событий в CRM-системах: аmoCRM и Битрикс24

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

Появившиеся в 2006 году сервисы Google по работе с текстовыми документами (Google Docs) и таблицами (Google Sheets), дополненные 6 лет спустя возможностями работы с виртуальным диском (Google Drive), завоевали широкую любовь пользователей, лишив компанию Microsoft сложившейся десятилетиями монополии на работу с офисным программным обеспечением.

В связи с популярностью последних часто возникает задача сделать новый или обновить существующий Google-файл в привязке к событиям в CRM-системе.

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

Читать далее

SafetyNet Attestation — описание и реализация проверки на PHP

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

В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.

После многочасовых поисков и скрупулёзного изучения официальной документации Google решил поделиться полученным опытом. Потому что, кроме официальной документации, я нашел только отрывочные описания частных примеров реализации на разных ЯП. И ни намека на комплексное объяснение особенностей проверки по SafetyNet на сервере.

Статья будет полезна разработчикам, которые хотят подробнее разобраться с технологией верификации устройств по протоколу SafetyNet Attestation. Для изучения описательной части не обязательно знать какой-либо язык программирования. Я сознательно убрал примеры кода, чтобы сфокусироваться именно на алгоритмах проверки. Сам пример реализации на PHP сформулирован в виде подключаемой через composer библиотеки и будет описан ниже.

А в конце статьи — ссылка на разработанную мной библиотеку на PHP, которая обеспечивает полный цикл верификации JWS.

Читать далее

Проектирование API: почему для представления отношений в API лучше использовать ссылки, а не ключи

Время на прочтение14 мин
Количество просмотров6.8K
image Привет, Хабр!

У нас выходит долгожданное второе издание книги "Веб-разработка с применением Node и Express".

В рамках исследования этой темы нами была найдена концептуальная статья о проектировании веб-API по модели, где вместо ключей и значений базы данных применяются ссылки на ресурсы. Оригинал — из блога Google Cloud, добро пожаловать под кат.
Читать дальше →

Как я воровал данные с пользовательских аккаунтов в Google

Время на прочтение8 мин
Количество просмотров33K
Вы со мной не знакомы, но существует известная вероятность, что я знаком с вами. Причина в том, что у меня есть полный, неограниченный доступ к приватной информации миллионов людей, размещённой на аккаунтах Google. Отправленные по почте выписки по банковским счетам, медицинские документы, хранящиеся на Google Drive, сохранённые и пересланные чаты из Facebook, голосовые сообщения на Google Voice, личные фотографии на Google Photos. Список можно продолжать. Никто из них не знает об этом сейчас и никогда не узнает в будущем. Возможно, в их число входите и вы.

И как же я такое провернул? Всё началось с разработанного мной приложения. По очевидным причинам, обнародовать название я не стану. Приложение довольно нехитрое, оно рассчитано на людей, увлекающихся фитнесом, и предлагает возможности типа внесения данных о скорости во время пробежки или готовых комплексов силовых упражнений. Как и многие другие продукты, оно требует, чтобы пользователь первым делом создал аккаунт. По данным аналитики, примерно 60% людей вместо того, чтобы полностью проходить процедуру регистрации, соблазняются заманчивой кнопкой «Войти с Google».

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

Приложение отвечает: как мы уменьшили количество ANR-ошибок в шесть раз. Часть 1, про сбор данных

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

Пожалуй, одна из худших проблем, которая может случиться с вашим приложением, — ошибка ANR (Application Not Responding), когда приложение не отвечает. Если таких ошибок много, они могут негативно влиять не только на пользовательский опыт, но и на позицию в выдаче Google Play и фичеринг. 

В начале прошлого года количество ANRs в приложении Badoo превышало порог “Bad Behaviour” в Google Play. Поэтому мы собрали команду для решения этой проблемы и потратили несколько месяцев, экспериментируя с разными подходами. В результате мы смогли уменьшить количество таких ошибок более чем в шесть раз.

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

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

Читать далее

Конструктор плейлистов для Spotify

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

Статья о том, как Spotify Web API (SWA) и платформа Google Apps Script (GAS) позволили превратить библиотеку в гибкий конструктор плейлистов с бесплатным исполнением по расписанию.

Под конструктором плейлистов понимаем механизм сбора, фильтрации, сортировки и добавления треков.

Читать далее

Внедряем кросс-платформенные пуш-уведомления: дополнительные возможности

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

В своей прошлой статье я рассказал, как мы научились отправлять пуши на разные платформы и с чем при этом столкнулись. В этот раз я расскажу про некоторые изменения, которые помогут улучшить как клиентский опыт в приложении, так и производительность отправки на сервере. Под катом вас ждет много графических демонстраций.


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

Разворачиваем сервер для проверки In-app purchase за 60 минут

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

Всем привет! Сегодня расскажу вам как развернуть сервер для проверки In-app Purchase и In-app Subscription для iOS и Android (server-server validation).


На хабре есть статья от 2013 года про серверную проверку покупок. В статье говорится о том, что валидация в первую очередь необходима для предотвращения доступа к платному контенту при помощи джейлбрейка и другого софта. На мой взгляд в 2020 году эта проблема не так актуальна, и в первую очередь сервер с проверкой покупок необходима для синхронизации покупок в рамках одного аккаунта на нескольких устройствах


В проверке чеков покупок нет никакой технической сложности, по факту сервер просто «проксирует» запрос и сохраняет данные о покупке.



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

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

Настройка синхронизации google calendar с web приложением

Время на прочтение3 мин
Количество просмотров11K
В данной статье рассматривается ситуация, когда приложению необходимо получить доступ к одному или нескольким календарям, находящимся под управлением владельца приложения (то есть у приложения изначально есть права на использование и изменение информации в этих календарях).

Пример кода приведен на языке программирования Python.
Читать дальше →

Как мы в очередной раз пытаемся заменить людей на роботов

Время на прочтение3 мин
Количество просмотров2K
Эта история о том, как мы в 4-ый раз запускаем стартап.

Как появилась идея


Всё началось с увиденного поста про новую платформу Maxine с ИИ для апгрейда видеосвязи от Nvidia, одна из особенностей этой платформы является синхронный перевод в виде титров, данная фича реализована при помощи фреймворка от той же Nvidia под название Jarvis, данный фреймворк предназначен для мультимодальных разговорных сервисов искусственного интеллекта, обеспечивающая производительность графических процессоров в реальном времени. Именно эта концепция синхронного перевода легла в основу нашей платформы аудио- и видео- связи. Поскольку это новая платформа, она должна иметь ряд особенностей по сравнению с другими подобными платформами, поэтому мы решили добавить этим титрам голос, формируя голосовой профиль пользователя и синтезируя речь с учётом тональности и окраса голоса человека, который говорит.


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

Подключение node-приложения к Google Calendar API

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

Как-то неожиданно для меня подключение своего nodejs-приложения к Google Calendar API оказалось довольно нетривиальной задачей. Несмотря на подробное описание вариантов подключения на русском языке пришлось продираться через лес различных настроек и конфигураций. В статье подробно изложены шаги, которые приходится совершить, чтобы интеграция завершилась успехом.

Читать далее

Экстренная психологическая помощь | Prototyping Weekend

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

#openDevelopment #codeSaveLives
Привет Хабр! Я завершил работу над прототипом платформы, которая объединяет психологов-добровольцев и людей, нуждающихся в экстренной помощи. Это инициатива в ответ на насилие, происходящее в настоящее время в Беларуси и Ливане:
https://brmlab.cz/project/belhack/start

Читать далее

Малиновый киноцентр или как сделать неубиваемый смарт-ТВ

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

Самая полная инструкция по созданию из Raspberry Pi домашнего киноцентра с минимальными затратами и подробной настройкой приложений.

Знаю, что скажут 90% читателей: "Зачем тебе магнитофон? Смарт-ТВ купи и счастье". Я отвечу. Проблема в том, что ещё в 90-ых был куплен шикарный телевизор с 5.1 звуком и Full-HD монитором, правда не стандартного разрешения (не 4:3 и не 16:9). Менять телевизор и попадать минимум на 40 тысяч из-за дивидюшника за 3 тысячи - как-то не разумно. В планах сделать экран с проектором и звуком, но вот покупать смарт-ТВ, который не поковыряешь - для меня слишком больно. Купил Sony - мучайся с их смартом и так с любой фирмой.

В моём распоряжении был старый комп-башня и куча старых деталей, который валялись по квартире и офису. Тестил всё на этом железе в разных конфигурациях: от сборки с интегрированной видюхой от интел с 1 ГБ оперативы и пентиумом на борту, до GTX 660 с 8 ГБ оперативы и i5 во главе. Разница есть, но только в загрузке файлов - то есть не критичная. Картинка в FullHD выдаётся ровно без крашей всю дорогу. Имея задумку повесить экран с проектором, делать громоздкую станцию - не вариант.

Читать статью

Как поисковики Google и Yandex мешают открыть иностранный банковский счет

Время на прочтение6 мин
Количество просмотров4K
В Латвии, где ещё совсем недавно массово открывали счета россияне и граждане других стран СНГ, выпустили «Справочник» по борьбе банков с отмыванием. И хотя ничего концептуально нового латвийские регуляторы не предложили, они подчеркнули важный для современного бизнеса момент: поводом для пристального внимания и даже отказа в открытии счета может послужить поисковая выдача в популярных поисковиках.



Вы спросите: зачем нам Латвия, если там давно не интересно открывать счета айтишнику? Дело в том, что информацию из поисковиков и социальных сетей активно используют и другие банки по всему миру. И IT-шники, которые живут и созидают в виртуальных мирах зачастую оставляют в сети много следов.

Латвийский пример борьбы с отмыванием нелегальных средств


Латвийская газета Diena провела своё расследование нового справочника, который обещали сделать помощником бизнеса и банков. Все стороны рассчитывали на разъяснения, на пошаговые инструкции и чёткое понимание, как стоит действовать, чтобы открыть счет. Именно это обещала обеспечить нынешняя глава Комиссии рынков финансов и капитала (Finanšu un kapitāla tirgus komisija – FKTK) менее года назад.
Читать дальше →

Настройка Gmail API для замены расширения PHP IMAP и работы по протоколу OAuth2

Время на прочтение13 мин
Количество просмотров12K
Оказавшись одним из счастливчиков, совершенно не готовым к тому, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth, я прочитал статью "Google хоронит расширение PHP IMAP" и загрустил начал предпринимать действия по замене расширения PHP IMAP в своём проекте на API Google. Вопросов было больше, чем ответов, поэтому заодно нацарапал мануал.
Читать дальше →