Saturday, September 05, 2009

Пакетная загрузка документов в Google Docs

Последнее время я довольно активно пользуюсь сервисом Google Docs для работы с документами и хранения статей. Недавно возникла необходимость закачать туда около 130-ти PDF-файлов. К сожалению, через веб-интерфейс можно закачивать только по одному файлу за раз. Я прикинул время, которое это займёт и решил поискать альтернативный вариант :) Попробовал найти какую-нибудь программку, которая может загружать много файлов за раз, но наткнулся на факт, что Google Data API поддерживает пакетную загрузку всех форматов документов кроме PDF :) К счастью, через пару недель после этого поддержка PDF всё-таки была добавлена. Тем не менее, подходящую программу я так и не нашёл, поэтому, недолго думая, решил сделать свою по примеру из документации. Потратил на неё где-то час и ещё час на то, чтобы всё красиво оформить и выложить в Google Code. Давно хотел попробовать этот сервис и вот наконец подвернулась возможность :)

В итоге получилась маленькая утилитка, которой нужно только указать путь к директории, файлы из которой нужно закачать, и логин с паролем от аккаунта. Есть также опция рекурсивного обхода вложенных директорий. Поддерживаются следующие форматы файлов: csv, doc, docx, html, htm, ods, odt, pdf, ppt, pps, rtf, sxw, tsv, tab, txt, xls, xlsx. Для работы необходимо иметь установленную Java 1.6 или выше, скачать которую можно здесь: http://java.sun.com/javase/6/.

Есть несколько вариантов использования :

  1. java -jar google-docs-upload.jar

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

  2. java -jar google-docs-upload.jar <path> --recursive

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

  3. java -jar google-docs-upload.jar <path> --username <username> --password <password>

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

Скачать программу, а также исходный код можно здесь: http://code.google.com/p/google-docs-upload/

Надеюсь, что кому-нибудь окажется полезным :)

Update: добавил возможность создания полной копии структуры папок, а также обнаружение уже загруженных файлов, которые можно заменить или пропустить.

0 Comments:

Post a Comment