Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
6 Декабрь 2018

Очень НЕ простая работа с Google Drive API

posted in Bitrix |

Озадачили меня недавно довольно интересной задачей — синхронизация файлов (в моём случае изображений) с Гугл Диска на сайт под управлением 1С-Битрикс.
Хотелка такая — кидаем в определённую папку на диске изображение — скрипт его обнаруживает и создаёт элемент на сайте с детальным изображением из этой картинки.
Папки с изображениями на сайте — на Гугл Диске тоже самое…

Задача вроде ясна, дело казалось бы за малым — найти PHP API для Google Drive и сляпать скриптик делающий слепок того, что есть и сравнивающий при запуске то, что имеем в текущий момент.
Если есть новое файло — качаем, создаём элемент и вуаля…

Сразу нашел хорошую статейку-мануал Простая работа с Google Drive API в которой получают список файлов на диске (основной момент для моей реализации) и с хорошим настроением начал продвигаться вглубь…

Скачал с Гитхаба уже готовую библиотеку Google API Client Library for PHP, собственно установил её с помощью composer, параллельно включив необходимые php модули … в общем всё по-настоящему!

Далее под своей учёткой в гугл консоли создал QAuth токен (тоже не тривиальная процедура я Вам скажу — ещё и Гугл довольно долго тупил — после подтверждения сайта, никак в окне QAuth в Авторизованные домены не хотел добавляться — наверное час тупил 🙁

В общем всё шло довольно ровно … до тех пор пока я не начал работать непосредственно с файловой структурой Гугл Диска!!!
Это жесть! В статейке, указанной мной в начале поста я довольно много комментировал т.к. довольно много не понимал.
И скажу я Вам — так и не понял 🙁
Даже на тестовом драйве где у меня было всего ничего файлов — Гугл упорно мне отдавал то, чего у меня и в помине не было … но были в «доступные мне» файлы.
При работе с драйвом заказчика вообще тушите свет — вместо менее тысячи файлов, мне было отдано наверное тысяч 20… и то с очень большим «скрипом» т.к. при получении данных очень часто библиотека вылетала в ошибку… Как «взять» только моё я так и не понял. Причём один и тот же файл легко встречался по несколько раз с разными «предками»… мраки …

После ряда экспериментов я решил попробовать Яндекс диск для реалзиации той же задачи … и больше я к Гуглу не возвращался! В общем одно слово — неруси!

Оставить комментарий