2012-09-16 22 views
19

Estoy buscando escribir una aplicación de servidor para cargar archivos en Google Drive. Anteriormente estaba usando la API de la Lista de documentos, pero veo que está en desuso. Me gustaría pasar a la API de Google Drive, pero parece muy restringido para usar un flujo web/OAuth.¿Subir a Google Drive sin ninguna interfaz de usuario?

Todo lo que tengo que hacer es cargar archivos de Word, Excel, etc. a Google Drive, pero debo hacerlo de manera totalmente automática, sin interfaz de usuario de ningún tipo. Deseo escribir una aplicación de línea de comando, que puede ejecutarse en cron o lo que sea, y no requerir intervención humana a través de la web, etc.

Preferiría alejarme de la API de la Lista de documentos, ya que no quiero obtener quemado cuando finalmente lo apagan, me gustaría utilizar una API compatible que Google no eliminará en el corto plazo. ¿Existe esto?

Gracias

Garry

+2

¿Qué hay de malo en la unidad de Google Un PI: https://developers.google.com/drive/? Puede interactuar fácilmente con él en un programa de línea de comando. –

Respuesta

7

Su aplicación necesita el permiso del usuario para utilizar el API en contra de sus archivos. Esa autorización debe suceder usando Oauth basado en la web. El resultado de esa autorización es que su aplicación de servidor termina con un token de actualización, que puede almacenar. En cualquier momento, su aplicación puede convertir ese token de actualización a un token de acceso y acceder a los archivos de la unidad.

Por lo tanto, siempre que acepte que necesita una autorización por única vez, puede lograr lo que está buscando.

+0

Gracias por esto, no es ideal para mí, ya que estamos hablando de utilizar el software de máquinas que simplemente no tienen interfaces gráficas de usuario, pero si esa es la situación, estamos dentro, entonces tengo que trabajar en ello . Gracias. – Garry

+3

el proceso de autorización y el acceso al disco no necesitan estar en el mismo dispositivo. Por lo tanto, puede tener un servlet que realice el flujo de autorización y gane un token de actualización. A continuación, puede transferir de forma segura ese token de actualización a la máquina y listo. Como alternativa, puede ganar un token de actualización con el parque infantil OAuth. Ver http: // stackoverflow.com/questions/19766912/how-do-i-authorize-an-app-web-or-installed-without-user-intervention-canonic – pinoyyid

3

La documentación de Google Drive contiene las respuestas que está buscando:

https://developers.google.com/drive/v2/reference/files/insert

+0

Perdóneme si estoy siendo un poco estúpido aquí, pero no veo cómo puedo autenticarme sin un navegador web y el flujo de Oauth. ¿Me he perdido algo obvio? – Garry

+4

Compruebe el inicio rápido para obtener una muestra de línea de comandos (https://developers.google.com/drive/quickstart). Puede extenderlo para realizar una autorización de forma manual una vez y almacenar el token de actualización en una base de datos. Luego, para futuras solicitudes, puede usar el token almacenado. –

2

Win/Lin/Mac/... https://github.com/prasmussen/gdrive

lista unidadg $
Ir a esta url ... introducir el código de verificación oauth ... OK
de carga de archivos unidadg $
$ unidadg mkdir uploaddir
ID_of_UploadDir
$ sincronización unidadg subir LocalDir ID_of_UploadDir

Cuestiones relacionadas