Как стать автором
Обновить
1.8

Google API *

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

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

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

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

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

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

Android Camera2 API от чайника

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


Не так давно я возился со своей роботележкой, пытаясь водрузить на нее ANDROID смартфон. Моей, то есть его задачей, было сделать тележку эволюционно продвинутой. Чтобы она, так сказать, чувствовала мир его сенсорами, смотрела его глазом (камерой), слышала микрофоном и ругалась по громкой связи. Ресурсов AVR, понятное дело, на это уже не хватало и поэтому бывший на телеге микроконтроллер переехал на уровень ниже, куда-то в район спинного мозга управлять моторчиками и разными безусловными рефлексами.

Но странное дело, когда я начал писать приложение для смартфона, нехорошая IDE ANDROID STUDIO стала постоянно зачеркивать мой код и называть его устаревшим.

camera = Camera.open();

Особенно, как вы видите, в тех частях, где я пытался работать с камерой. Это было очень обидно, потому что я прочитал в интернете и усвоил множество уроков работы с андроидом и камерой здесь, здесь, здесь и даже здесь. Там ничего не зачеркивалось. И называлось заурядно Camera API. Все там было просто и логично. Но Google упрямо толкал меня к какому-то Сamera2 API.

Я туда посмотрел и просто опупел от количества разных коллбэков, билдеров, хэндлеров и луперов на каждую строчку демонстрационного кода. Было совершенно непонятно с какой стороны к этому подступиться, если ты обычный любитель, а не android developer. Причем в сети даже на сегодня статей на тему Сamera2 API чуть, хотя вышло это обновление вроде как, аж четыре года назад. Но всё что я нашел, это статью в Хакере в 2016, пост в трех частях от украинских братьев того же года, двойной пост на Хабре в 2017 и статью Understanding Camera2 от японского мегагика Томоаки Имаи. И это я ещё имею в виду какую-то структурированную и оформленную информацию, а не раскиданные в интернете обрывки кода типа, «смотрите, как я могу» и простыни в стиле, «посмотрите код плиз, у меня ничего не работает».

А теперь, если вам всё ещё интересно зачем мне потребовалось пилить свой пост на эту тему
уже в 2019, то добро пожаловать под кат.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии21

Как в Microsoft SQL Server получать данные из Google Analytics при помощи R

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

В этом материале я хочу подробно показать, как можно при помощи R в Microsoft SQL Server реализовать получение данных из Google Analytics (и вообще из любого API).


Благодарности:


Поскольку я ни разу не маркетолог мне требовалась помощь специалиста. Тестовый кабинет и доступ Google Analytics (GA) организовал Алексей Селезнёв , а также давал дельные консультации.
Он профессионально занимается аналитикой в маркетинге. И в качестве благодарности за помощь упоминается здесь телеграмм канал Алексея, где он ведет свою активность.


Задача — у нас есть сервер MS SQL и мы хотим получать данные в DWH по API


Для подключения к Google Analytics (GA) будем использовать пакет googleAnalyticsR.


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

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии17

Раздаем файлы с Google Drive посредством nginx

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

Предыстория


Так уж случилось, что нужно мне было где-то хранить более 1.5тб данных, да еще и обеспечить возможность скачивания их обычными пользователями по прямой ссылке. Поскольку традиционно такие объемы памяти идут уже на VDS, стоимость аренды которых не слишком вкладывается в бюджет проекта из категории «от нечего делать», а из исходных данных у меня был VPS 400GB SSD, куда при всем желании 1.5тб картинок без lossless сжатия поместить не удастся.

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии25

Истории

Google заявляет, что «reCAPTCHA» не злоупотребляет данными о пользователях. Стоит ли этому верить?

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


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

На удивление много сил уходит на то, чтобы веб-сайты могли убедиться, что пользователь — не робот. По этой причине при входе на сайты часто можно увидеть вопросы от системы «CAPTCHA»: размытые фотографии пешеходных переходов, светофоров и витрин магазинов, которые предлагается идентифицировать с помощью нескольких нажатий кнопки мыши.

Задания бывают разных видов: от расплывчатых букв, которые нужно распознать и вписать в поле, до фирменных слоганов вроде «Comfort Plus» на сайте Delta — как будто плачевное состояние современных авиаперевозок еще недостаточно антиутопично. Наиболее распространенным, однако, является принадлежащий компании Google сервис reCAPTCHA, третья версия которого была выпущена в конце 2018 года. Его задача — значительно сократить количество действий, требуемых от пользователя при входе на сайт, что достигается за счет присвоения пользователям неотображаемых оценок в зависимости от того, насколько «человеческим» является их поведение. В конце концов, изначальной задачей CAPTCHA было отсеять учетные записи ботов, которые заполоняют веб-сайты с не самыми честными целями.

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

Переведено в Alconost
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии8

Как мы внедряли навигацию из Jetpack в боевое приложение. Доклад Яндекс.Еды

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


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

Всего голосов 22: ↑21 и ↓1+20
Комментарии4

Как бесплатно автоматизировать мониторинг госзакупок

Время на прочтение4 мин
Количество просмотров26K
Скажу сразу, статья скорее техническая, это инструкция.
Но начну с истории.

Сейчас я работаю на компанию со 100 процентным государственным участием, учредитель — одна уважаемая госкорпорация.

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

Попытки запустить это были, но безуспешные.

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

Я был в недоумении некоторое время, пока не решил перезапустить этот процесс, выпросив оплатить аккаунт на Контур.Закупках.

Всё настроил и стал мониторить сам. Находил конкурсы отдавал в отдел продаж, завертелось, закружилось.

Людям нравится когда что-то происходит. Отдел продаж загорелся.

Если кратко описать, что нужно, чтобы запустить процесс участия в госзакупках, то вам надо:
1. Настроить мониторинг госзакупок
2. Чтобы кто то отбирал проекты, понимая ФЗ и читая все требования. Убирать лишнее.
3. Вести учет состояния проектов в едином интерфейсе.
4. Готовить заявку на участие в конкурсе, понимая структуру вашей цены
5. Иметь аккаунты на электронных торговых площадках (ЭТП)
6. Уметь писать жалобы в ФАС на снос конкурсов (юрист)
7. Проводить аналитику своего, извиняюсь, рынка
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии20

Из эпицентра Google Cloud Next ’19: полевые заметки CEO

Время на прочтение7 мин
Количество просмотров2.1K
Если хотите знать, откуда дует ветер, отправляйтесь в самое сердце урагана.

Приблизительно такое ощущение сложилось от посещения конференции Google Cloud Next ’19, где три дня разработчики, продакт-менеджеры, специалисты по данным и другие светлые умы делились самыми горячими новостями в сфере разработки приложений и архитектуры, безопасности, управления расходами, анализа данных, гибридных облачных технологий, ML и АІ, внесерверной обработки данных и пр… 30 000 человек, потоки по индустриям и техническим направлениям, почти безостановочные лекции. Вот это ажиотаж!

Расскажу вам, какие важные новости о Google Cloud в 2019-2020 гг. и его 122 обновлениях нельзя упустить, на основе заметок Влада Флакса, CEO компании OWOX, который побывал на конференци.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Quo vadis. Баны разработчиков в Google Play

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


Наш скорбный труд не пропадет...


Без предисловия


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

Читать дальше →
Всего голосов 26: ↑9 и ↓17-8
Комментарии17

Как я нашел пасхалку в защите Android и не получил работу в Google

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

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

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

Вот такая же удивительная история (только без хэппи-энда) произошла со мной. Скрытые послания там, где их точно не может быть, реверс Java кода и нативных библиотек, секретная виртуальная машина, прохождение собеседования в Google — все это под катом.
Читать дальше →
Всего голосов 279: ↑277 и ↓2+275
Комментарии302

Google Plus прекращает работу. И что?

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

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

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии5

Простой парсер для youtube в гугл таблицах

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

Предыстория


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

Функция IMPORTXML, с помощью которой можно выполнять парсинг с сайтов, — не помогла, поскольку, как оказалось в дальнейшем, youtube хранит данные в JSON файлах. Перебирать руками такое количество видео не хотелось и я начал искать способы как автоматизировать или хотя бы упростить эту задачу.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Google Drive как хранилище для веб-приложения

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

Предисловие


Мое веб-приложение хранит данные в 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 в вашем приложении.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии19

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

Google+. Sic transit gloria mundi…

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

Всем привет.

Итак, собственно к Google+. Проект почит в бозе с 2 апреля 2019 года. Теперь уже официально.

Вот как об этом пишут всем участникам.
Читать дальше →
Всего голосов 27: ↑16 и ↓11+5
Комментарии35

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

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

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




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

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

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

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


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

Реализация системы GTD на основе новых возможностей Google Keep и Calendar

Время на прочтение19 мин
Количество просмотров35K
This article in English: GTD Implementation via New Google Keep and Calendar Features

За последние годы 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 (развернут список ближайших действий на неделю):


Pеализация GTD в Google Keep (категория ближайших действий):
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии18

Баги в Gmail позволяли спрятать адрес отправителя и переложить письмо в «отправленные»

Время на прочтение2 мин
Количество просмотров3.3K
Сразу две серьезные ошибки, которые могут быть использованы для фишинга, обнаружены в ноябре в интерфейсе Gmail исследователем Тимом Коттеном.

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


Первый баг проявился, когда Тим изучал инцидент в своей компании. Одна из его коллег обнаружила в своем аккаунте GMail в папке «Отправленные» несколько писем, которые не посылала. В результате анализа ситуации выяснилось, что письма были отправлены с чужого аккаунта и при получении были автоматически помещены в папку «Отправленные».

image

Оказалось, что в поле «From:» на самом деле содержалось два адреса, принадлежавшие настоящему отправителю и фактическому получателю. Причем адрес получателя из-за отсутствия кавычек воспринимается почтовыми серверами, как сопроводительный текст к второму адресу почты. А интерфейс почтового ящика воспринимает получившуюся запись уже как два разных адреса. По версии Коттена, затем при обработке поля From:, содержащего адрес получателя, Gmail сортирует письмо по пакам как отправленное, несмотря на то, что сообщение является входящим и пришло с другого адреса.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Как мы сделали оплату через Google Pay в Яндекс.Кассе [обновлено]

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


Когда Google Pay только появился в России, я завёл аккаунт, добавил туда карту и понял, что больше ничего не могу сделать. NFC в моём телефоне не было, в интернете тоже ничего не оплатить — ну и ладно, мне не мешает. В конце концов, всегда можно было руками вбить цифры с карты или подтянуть их из браузерной хранилки паролей.


Потом я смотрел на то, как разные люди, которые стояли передо мной в очереди, платят смартфоном; потом видел везде рекламу и скидки за использование Google Pay, но всё ещё никак не мог этим воспользоваться — я по-прежнему ходил с телефоном без NFC.


И вот настало сегодня. Теперь я могу заплатить через Google Pay с любого устройства на сайтах, которые подключены к Яндекс.Кассе (а их довольно много). Расскажу, как так получилось и какие технические задачи пришлось решать нашим разработчикам; там много интересного и на фронте, и в бэкенде.

Читать дальше →
Всего голосов 47: ↑25 и ↓22+3
Комментарии82

Реализация семейной бухгалтерии при помощи Google Sheets, жевательной резинки и скотча

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

  • должна позволять вносить данные о расходах нескольким пользователям
  • должна обладать гибким набором категорий расходов (да и, в целом, быть гибкой)
  • должна позволять следить за общей суммой расходов по периодам и категориям
  • должна быть бесплатной
  • должна обладать простым интерфейсом

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

Не найдя решения удовлетворяющего перечисленным критериям среди существующих приложений, стал думать о своем, но размышляя над этой темой, понял, что нет смысла еще в одном бухгалтерском приложении, когда все что нужно для решения задачи, это пошаренная таблица. Бегло пробежавшись по API Google Sheets, обнаружил функцию SUMIFS, которая полностью удовлетворяла мои бухгалтерские запросы. Но обо всем по порядку.
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии38