Обновить
3.41

Google API *

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

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

Получение сообщений из трансляций youtube + авторизация google на PHP

Время на прочтение7 мин
Количество просмотров6.8K
На днях встала задача получения сообщений из стрима youtube. Статей по этому поводу не нашел, а есть лишь офф. документация гугл. С ней я разобрался (надеюсь) и готов поделиться с вами опытом.

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

Как обойти ошибки при построении отчетности в Power BI и прийти к построению системы выгрузки для больших данных

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


За красивыми и понятными дашбордами Power BI часто скрываются недели подготовки и сведения данных. Особенно когда речь идет о построении полезной BI-отчетности в крупной организации с объемом трафика в десятки миллионов посетителей ежемесячно.

В данной статье я хочу описать ряд негативных моментов, с которыми столкнулся при построении BI-отчетности, основанной на данных из систем веб-аналитики в ряде компаний (крупные представители российского e-commerce, страховые компании и т.д.). Статья не имеет цель сделать антирекламу или наоборот рекламу тех или иных инструментов или решений. Она подготовлена для того, чтобы по возможности помочь избежать негативных моментов другим пользователям и указать на варианты решений.

Дисклеймер


Я говорю о больших объемах данных и показываю примеры выгрузки и сэмплинга из Google Analytics 360. На проектах с небольшим объемом данных таких сложностей может не быть. Со всеми обозначенными проблемами я встретился на практике и в статье описываю исключительно свой опыт решения — ваши могут быть совершенно другими.
Читать дальше →

Сила PWA: Система видеонаблюдения с нейросетью в 300 строчек JS-кода

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

Веб-браузеры медленно но верно реализуют большинство функций операционной системы, и остается все меньше причин разрабатывать нативное приложение, если можно написать веб-версию (PWA). Кроссплатформенность, богатое API, высокая скорость разработки на TS/JS, и даже производительность движка V8 — все идет в плюс. Браузеры уже давно умеют работать с видеопотоком и запускать нейронные сети, то есть мы имеем все компоненты для создания системы видеонаблюдения с распознаванием объектов. Вдохновленный этой статьей, я решил довести демо-пример до уровня практического применения, чем и хочу поделиться.

Приложение записывает видео с камеры, периодически отправляя кадры на распознавание в COCO-SSD, и если обнаружен человек — фрагменты видеозаписи порциями по 7 секунд начинают отправляться на указанный емейл через Gmail-API. Как и во взрослых системах — ведется предзапись, то есть мы сохраняем один фрагмент до момента детекции, все фрагменты с детекцией, и один после. Если интернет недоступен, или возникает ошибка при отправке — видеозаписи сохраняются в локальной папке Downloads. Использование емейла позволяет обойтись без серверной части, мгновенно оповестить хозяина, а если злоумышленник завладел устройством и взломал все пароли — он не сможет удалить почту у получателя. Из минусов — перерасход трафика за счет Base64 (хотя для одной камеры вполне хватает), и необходимость собирать итоговый видеофайл из множества емейлов.

Работающее демо здесь.

Проблемы возникли следующие:
Читать дальше →

Сервис GSM Location модулей SIM800x и его работа с API Яндекс.Локатор

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


Google, к сожалению для многих пользователей GSM-модулей, 2-3 месяца назад заблокировал и перевел на платную основу API для определения местоположения по координатам видимых модулем сотовых вышек. Из-за этого, на модулях серии SIM800 производства SIMCom Wireless Solutions, перестал работать функционал команды AT+CIPGSMLOC. В этой статье я расскажу Вам как можно решить проблему воспользовавшись аналогичным сервисом, предоставляемым Яндекс – Яндекс.Локатор.
Читать дальше →

Как работать с API Google Таблиц (Google Sheets API v4) на языке R с помощью нового пакета googlesheets4

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

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


В этой статье мы разберёмся с тем, как на языке программирования R работать с Google Sheets API v4 с помощью пакета googlesheets4, а точнее:


  • Как пройти авторизацию для работы с Google Таблицами по API;
  • Рассмотрим основные функции пакета;
  • Разберём примеры кода для чтения данных, создания новых таблиц и выполнения других манипуляций с Google Таблицами по API.

Также эта статья поможет пользователям устаревшего пакета googlesheets мигрировать на новый googlesheets4.


Для тех кому лень читать статью, вот ссылка на 10 минутный, русскоязычный видео урок на YouTube. Остальным добро пожаловать под кат.


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

Ок, Гугл, «спасибо» за новый автомобиль

Время на прочтение5 мин
Количество просмотров22K
Статью с похожим заголовком, только без кавычек, могли бы написать производители\продавцы автомобилей. Но раз до сих пор не написали, значит либо не поняли, откуда ветер дует, либо я сгущаю краски. Попробуем разобраться.

Кто я? Я счастливый и несчастный обладатель новенького топового смартфона от известного производителя всего на свете, с 10-м (на данный момент) Андроидом «на борту». Почему счастливый и несчастный? В двух словах не объяснить.
Читать дальше →

Что делает Free API Московской биржи в Google Таблицах

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

Количество частных инвесторов на Московской бирже удвоилось за последний год и составило 3,86 млн: за 2019 счета на Мосбирже открыли 1,9 млн человек. Санкт-Петербургская биржа, специализирующаяся на торгах акциями иностранных компаний, в прошлом году зафиксировала трехкратный прирост счетов – с 910 000 до 3,06 млн шт.



Это означает, что на рынок пришло почти 2 млн новичков, которые никогда не занимались трейдингом и не использовали специализированный софт для торгов и учета позиций.

Google Таблицы и ИСС Мосбиржи

CRUD операции с Entities в DialogFlow (C#)

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

Вступление


Совсем недавно я начал работу над новым проектом, который включал в себя работу с уже достаточно известным сервисом (AI) от Google — DialogFlow. Суть заключалась в том, что у нас был бот (Telegram) который работал с API нескольких сайтов, а сам же DialogFlow помогал нам структурировать само общение с человеком, для чего он в принципе и создавался. Нужно сказать, что статья предназначена для людей, которые только начали знакомство с сервисом или уже имеют небольшой опыт, так далее возможны термины: Intent, Context, Action, Event ну и то ради чего мы и собрались — Entities. Надеюсь, что статья будет полезна тем, кто немного не понял как именно через код можно проделывать CRUD операции с Entities.

Entities в DialogFlow


В DialogFlow Entities представляют собой некие сущности, которые состоят из ReferenceValue и Synonyms. Что-то похожее на ключ-значение, только с той разницей, что синонимов может быть много, и чем их больше — тем лучше, поскольку это «упрощает боту жизнь» и ему легче понять о каком значении идет сейчас речь, а поставленная галочка на Fuzzy matching поможет боту еще и понимать о чём идет речь, даже если вы упустили одну букву или другой символ. Выглядит это примерно так:

Москва — москва, Москва, Мсква…

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

Экспорт Google Forms + загрузка Google Script через REST API (Python)

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


У нас было две гугл-формы, 75 вопросов в каждой, 5 бизнес-пользователей, которые активно правили эти формы, а еще гугл-скрипт, экспортирующий форму в JSON. Не то что бы его было сложно каждый раз запускать руками, но раз начал автоматизировать свою работу, то иди в этом увлечении до конца.

В официальной документации сам черт ногу сломит, поэтому под катом мы подробно рассмотрим удаленную загрузку и запуск Google Apps Script через REST API, используя Python.
Читать дальше →

Учёт собственных публикаций в таблице LynxReport

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

Если вы используете публикации на различных сайтах и в СМИ как один из инструментов продвижения, то рано или поздно перед вами возникнет вопрос их систематизации. Тогда же появляется и обратная связь, которая обычно включает в себя:


  1. просмотры;
  2. комментарии с разным эмоциональным оттенком;
  3. сохранения (сколько пользователей этого сайта добавили материал в свои закладки);
  4. рейтинги (сколько пользователей этого сайта проголосовали за или против).


Если все ваши статьи размещены на одном ресурсе, то особых проблем с учетом не возникает. Вышеперечисленные показатели обычно сведены в админке (как на картинке ниже) и всегда можно наглядно оценить какая из собственных тем более популярна. У меня же публикации по одной теме часто «размазаны» по разным ресурсах, таких как Хабр, виси.ру, Medium, Яндекс Дзен и (если корректно отнести к публикациям) GitHub. И передо мной была проблема увидеть общую картину по проектам и темам «в одном окне».

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

Работа с интерфейсом в Google Maps SDK для Android

Время на прочтение9 мин
Количество просмотров10K
Данная статья будет полезна тем, кто ранее не использовал в своей работе Google Maps SDK.

Под катом описаны основные приемы работы с картой, такие как добавление и управление маркерами, способы перемещения камеры над картой, управление зумом, построение маршрута и геокодинг. А так же ограничения и способы их обхода.

image
Источник
Читать дальше →

Начинаем работу с Google Sheets на Python. От регистрации до чтения данных

Время на прочтение11 мин
Количество просмотров218K
Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака.

Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным.

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

Мне очень помогли статьи:


Как обычно – когда впервые за что-то берешься, то сталкиваешься с массой вопросов, которые потом вызывают лишь недоумение – как можно было об этом вообще задумываться. Элементарно же!

Возможно, я просто шел длинным путем – буду рад, если вы меня поправите.

Все действия выполнялись на компьютере с Windows + Python 3.6.6, также использовался Jupyter Notebook.

Основные трудности у меня возникали на этапе предварительных настроек. Найти работоспособный код не представляет особого труда.

Код, использованный в статье, доступен в репозитории
Читать дальше →

Дни рождения в Google Календаре с обозначением возраста

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

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



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

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

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

Снова Google Fit. Работает ли он?

Время на прочтение3 мин
Количество просмотров20K
Привет! Меня зовут Виктор, я разрабатываю веб-приложение catisfit.com для анализа данных Google Fit.

Ожидания


imageБольшая часть мобильных телефонов давно научилась считать шаги. Многие носят фитнес-браслеты и часы, пользуются спортивными трекерами типа Strava, становятся по утрам на умные весы, пытаются контролировать сон и ведут дневники питания. Некоторые даже используют смарт-тонометры и ботинки.

Все связанные с этими гаджетами приложения работают внутри себя, показывают графики, подсказывают, как надо есть, как двигаться и как легче достичь цели. Общее у них одно — они все, как правило умеют синхронизироваться с приложением Google Fit и через него обмениваться данными друг с другом. Милтрекер берет ваши шаги из приложения-браслета и пересчитывает калории с учетом активности, браслет берет вес и меняет цели. А Google Fit все это любезно собирает, хранит, подсчитывает и отдает.

Это я так думал, когда решил использовать его API чтобы создать сайт, где пользователь мог бы видеть все и сразу, в разрезе аналитики и сравнения.
Под катом — суровая реальность.
Читать дальше →

Отображение почты Gmail только в html

Время на прочтение1 мин
Количество просмотров10K
Не секрет, что не всем нравится новый интерфейс почты от Google.

В интернете множество статей посвящено вопросу того, как же добраться до ссылки «отображать в простом html виде», и как бороться с тем, что вид периодически возвращается в «улучшенный».
Читать дальше →

Стрим видео с Android устройства по UDP в JAVA приложение

Время на прочтение7 мин
Количество просмотров11K
Итак, выходим на финишную прямую. Стримить видео с андроида на VLC плеер мы уже научились, теперь осталось только интегрировать окошко с видео в JAVA приложение и начать рулить роботелегой.



В этом нам очень сильно поможет проект с открытым исходным кодом VLCJ CAPRICA.
The vlcj project provides a Java framework to allow an instance of a native VLC media player to be embedded in a Java application.
Идея у ребят простая, но гениальная (реально перцовая). Вместо мучений с библиотеками FFmpeg и прочим, надо сразу вызывать специалиста ядро нормального, функционального и профессионального медиаплеера VLC. И вызвать его прямо из JAVA приложения.

Кому интересно, просим под кат.

Android Camera2 API от чайника, часть 3. Media Codec и стрим видео по UDP

Время на прочтение22 мин
Количество просмотров14K
Итак, со съемками фоточек и записью видео при помощи Camera2 API мы вроде бы, разобрались. Осталось только научиться передавать видеопоток c Android устройства страждущим получателям извне. Конечной целью, как уже неоднократно ранее говорилось, является интеллектуализация роботелеги — ставим на неё смартфон и так сказать, превращаем обезьяну в человека. В этом нам поможет Media Codec. И конечно, новое Camera2 API.


Кому интересно, прошу под кат.

Android Camera2 API от чайника, часть 2, пишем видео

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


Продолжаем разбираться с CAMERA2 API Android.
В предыдущей статье мы осваивали работу камеры, чтобы делать фоточки, используя новое API. Теперь же займёмся съемкой видео. Вообще изначально, главной моей целью был стрим по сети живого видео с камеры Android при помощи Media Codec, но так уж вышло, что сначала на сцену вылез Media Recorder и захотел поделиться с почтеннейшей публикой тем, как хорошо он умеет записывать видосики. Поэтому стримингом мы займёмся в следующий раз, а пока разберёмся, как присобачить Media Recorder к новому API. Пост про него получился довольно банальным, поэтому под кат могут заглядывать только новички и совершеннейшие чайники.

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

Google Play Instant. Рефакторинг длиною в жизнь

Время на прочтение19 мин
Количество просмотров7.8K
Когда ввязываешься в Early Access Program, никогда заранее не знаешь, что получится в итоге. Конечно, надеешься, что технология взлетит, а твое приложение опередит рынок и получит порцию пиара на Google I/O. И это неплохая мотивация, чтобы на начальном этапе вместо документации читать исходники, которые к тому же надо качать из секретного архива.

На AppsConf Евгений Сатуров показал, во что может вылиться участие в Early Access на примере разработки приложения с мгновенным запуском, по дороге поясняя все особенности Google Play Instant. В расшифровке его доклада разберёмся, откуда пошли Android App Bundles, при чём тут вообще Dynamic Delivery, познакомимся с новыми Gradle-плагинами, и узнаем, как быть с неожиданностями, которые приготовили для нас разработчики SDK.

Создание Google пользователей из PowerShell через API

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

В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite.

В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active Directory, между которыми мы не можем поддерживать реплику, соответственно, при выходе нового сотрудника нужно создать/включить аккаунт в этих двух системах. Для автоматизации процесса мы решили написать скрипт, который собирает информацию и отправляет в оба сервиса.
Читать дальше →