Pull to refresh
0
Rating

Как мы интегрировали Teamlab с Google Drive и увеличили посещаемость в 4 раза

ONLYOFFICE corporate blog Website development *Google API *


Начало года ознаменовалось для нашей команды множеством нововведений, обещанных еще в конце 2013 года. Самым громким, безусловно, стал релиз бесплатного пакета офисных приложений Teamlab Personal, который даже удостоился публикации на TechCrunch.

На прошлой неделе мы анонсировали интеграцию редакторов Teamlab с Google Drive через приложение в Chrome Store. Если вкратце, то вы теперь сможете работать с документами из Google Диска в редакторах Teamlab.
Под катом мы расскажем об этапах реализации, технических сложностях, с которыми мы столкнулись, и конечно же, результатах. Будет несколько абзацев для разработчиков и один для маркетологов. Если читать не хочется, можно сразу установить приложение из Chrome Store и разобраться во всем самостоятельно.

Краткое содержание предыдущих серий


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

Единственное аналогичное решение, которое существует на сегодняшний день — это Zoho, который тоже интегрирован с Google Drive и позволяет редактировать гуглодоки в своих приложениях. Посмотрели мы на это решение, покритиковали и решили сделать свое, только с блэкджеком.

Цели интеграции


С технической точки зрения необходимо было реализовать следующее:

  • Интеграция инструментов просмотра и редактирования Teamlab Office в хранилище Google Drive.
  • Предоставление возможностей совместного редактирования в Teamlab Office.
  • Конвертация файлов и создание новых в общепринятом формате Microsoft Office.
  • Использование информации Google аккаунта для авторизации на Teamlab Personal.

! Важной деталью реализации является то, что файлы находятся не у нас, а в хранилище Google Drive. Со стороны Teamlab используются только инструменты редакторов.

С пользовательской точки зрения мы предоставляем возможность не выходя из своего привычного G-аккаунта, работать с документами в полнофункциональном редакторе, применять сложное форматирование, не беспокоиться о конвертации форматов, забыть наконец про тяжеловесный Microsoft Office.

Этапы реализации


  1. Регистрируемся в консоли разработчика, добавляем проект и получаем ключи для авторизации в приложении. К приложению подключены Drive API и Drive SDK. Хочется отметить, что интерфейс настроек Drive SDK весьма устаревший, в отличии от остального функционала и достаточно часто возникали трудности с добавлением иконок, о чём даже писали телегу в саппорт Google (угадайте, получен ли ответ).
  2. Загружаем требуемые иконки файлов и иконки приложения (5 размеров).
  3. Для авторизации указываем ключ авторизации, скопы для получения email, информации об аккаунте и информации о файле, и адрес обработки запроса Google авторизации на personal.teamlab.com.
  4. Далее указываем основные форматы файлов для открытия в приложении: docx, xlsx, pptx. В дальнейшем, если в Google Drive выбрать наше приложение по умолчанию, то эти файлы будут открываться в один клик. Также мы добавили вторичные форматы: ppt, pps, odp, doc, odt, rtf, txt, xls, csv, ods, mht, html, htm, fb2, epub, pdf, djvu. При открытии файла этих форматов, приложение создаст в той же папке сконвертированную копию формата Office Open Xml и в редакторе откроет уже её. Такое же действие будет выполнено и для внутреннего формата Google Drive.
  5. В Google Chrome Web Store мы создали приложение Teamlab Personal, в манифесте которого указан контейнер для связи с Google Drive: «container»: «GOOGLE_DRIVE» и идентификатор нашего приложения из консоли разработчика.
    "container" : "GOOGLE_DRIVE",
    "api_console_project_id" : "YOUR_APP_ID" 
    При установке Teamlab Personal из Вебстора, приложение будет автоматом подключено и в Google Drive.
  6. При открытии файла или создании нового на адрес в personal.teamlab.com приходит запрос с данными о действии и кодом, необходимым для получения токена авторизации по протоколу OAuth 2.0. Токен используется при работе с Drive API. Приложение обращается к Google Drive только двумя методами: получение файла и сохранение.

Результат. Как это работает


Вы устанавливаете приложение Teamlab Personal из Chrome Store — автоматически в вашем Google Drive аккаунте появляется иконка Teamlab при создании новых и редактировании существующих документов. При ее нажатии документ открывается в редакторе Teamlab, а по окончании работы сохраняется обратно на Диск.

Если настроить использование Teamlab Personal по умолчанию, то docx, xlsx и pptx будут открываться в нем сразу. Для других документов создается копия в общепринятом формате, которая сохраняется здесь же, рядом с оригиналом в Google аккаунте.

Чем мы отличились от Zoho


  1. Zoho требует полные права доступа к вашему Drive, мы — минимальные.
  2. Zoho конвертирует документы в собственный zdoc формат, мы — в общепринятый Office Open XML.
  3. Zoho предоставляет по отдельности редакторы текстов, таблиц и презентаций — у нас все в одном приложении.


Ну а уж сравнивать возможности редактирования в Zoho и в Teamlab — это вообще тема отдельного поста :-)

Нерешенная проблема


Основной трудностью, с которой мы столкнулись в процессе реализации, стала возможность обработки Google Sheets нового формата. При попытке получить к ним доступ с целью редактирования, выдается ошибка авторизации. Проблема решается довольно просто: нужно запросить у пользователя полные права доступа (как и сделали Zoho). Но кто же захочет давать столько информации стороннему приложению? Сами разработчики Google ещё год назад на Staсkoverflow обещали устранить проблему, но судя по всему, так и не выкатили обновления.

В общем, мы решили, что требовать полные права у пользователей некрасиво, поэтому новые таблицы в редакторе Teamlab недоступны до тех пор, пока Google не исправит ошибку.

Абзац для маркетологов



График показов и установок приложения в Chrome Store

Маленькая, но очень важная деталь, которая появляется при интеграции вашего приложения с Google Drive — вот эта вот иконка:

Она как бы намекает, что вы попали в каталог приложений для Диска, и шансов быть замеченными у вас теперь на порядок больше. Ну и в общем, у нас буквально за 1 вечер трафик на сайт Teamlab Personal подскочил в 4 раза, кривая реквестов с google аккаунтов начала истерично дергаться, количество показов в хром сторе перешло грани разумного, и еще мы теперь выдаемся в числе первых на некоторых языках по нужным нам запросам.


А все почему? Потому что приложение полезное и сделано с любовью.
Tags:
Hubs:
Total votes 43: ↑38 and ↓5 +33
Views 18K
Comments Comments 11

Information

Founded
2008
Location
Латвия
Website
www.onlyoffice.com
Employees
51–100 employees
Registered