Загрузить на Google Диск без какого-либо пользовательского интерфейса?
Я ищу написать серверное приложение для загрузки файлов на Google Drive. Ранее я использовал API Список документов, но я вижу, что это устарело. Я хотел бы перейти к API Google Диска, но это, похоже, очень ограничено использованием потока web/OAuth.
Все, что мне нужно сделать, это загрузить файлы Word, Excel и т.д. На Google Drive, но мне нужно сделать это полностью автоматизированным способом, без какого-либо пользовательского интерфейса. Я хочу написать приложение командной строки, которое может работать на cron или чем-то другом, и не требовать вмешательства человека через Интернет и т.д.
Я предпочел бы отойти от API Списка документов, так как я не хочу, чтобы его обожгли, когда они в конечном итоге отключат его, я хотел бы использовать поддерживаемый API, от которого Google не собирается в ближайшее время избавляться. Это существует?
Ответы
Ответ 1
Для вашего приложения требуется разрешение пользователя использовать API для его файлов. Это разрешение должно происходить с использованием веб-Oauth. Результатом этого авторизации является ваше серверное приложение с токеном обновления, который он может хранить. В любое время ваше приложение может преобразовать токен обновления в токен доступа и получить доступ к файлам дисков.
Итак, если вы согласны с тем, что вам нужно сделать одноразовое авторизацию, вы можете достичь того, что ищете.
Ответ 2
Вот инструкции для Windows, Linux и MacOS, использующие GitHub | GDrive.
$ gdrive list
Go to the url... enter the oauth verification code... OK
$ gdrive upload file
$ gdrive mkdir UploadDir
ID_of_UploadDir
$ gdrive sync upload LocalDir ID_of_UploadDir
Ответ 3
Документация Google Диска содержит ответы, которые вы после:
https://developers.google.com/drive/v2/reference/files/insert
Ответ 4
http://www.maketecheasier.com/access-sync-google-drive-in-ubuntu/2012/06/06
я предполагаю, что это то, что вы ищете.