Descarga directa desde Google Drive mediante la API de Google Drive

Mi aplicación de escritorio, escrita en java, intenta descargar archivos públicos de Google Drive. Como me enteré, se puede implementar mediante el uso de archivo ' s webContentLink (it ' s para la capacidad de descargar archivos públicos sin autorización del usuario).

Por lo tanto, el código de abajo funciona con archivos pequeños:

String webContentLink = aFile.getWebContentLink();
InputStream in = new URL(webContentLink).openStream();

Pero no funciona con archivos grandes, porque en este caso el archivo no se puede descargar directamente a través de webContentLink sin la confirmación del usuario con la advertencia de escaneo de virus de google. Vea un ejemplo: enlace de contenido web.

Así que mi pregunta es ¿cómo obtener el contenido de un archivo público de Google Drive sin autorización del usuario?

Utilizar una Cuenta de Servicio puede serle útil.

Comentarios (0)

Yo consideraría la posibilidad de descargar desde el enlace, el raspado de la página que se obtiene para agarrar el enlace de confirmación, y luego descargar eso.

Si nos fijamos en el "descargar de todos modos" URL tiene un parámetro de consulta extra confirm con un token generado aparentemente al azar. Como es aleatorio... y probablemente no quieras averiguar cómo generarlo tú mismo, el scraping podría ser la forma más fácil sin saber nada sobre cómo funciona el sitio.

Puede que tengas que considerar varios escenarios.

Comentarios (1)

https://drive.google.com/uc?export=download&id=FILE_ID sustituye el FILE_ID por el id del archivo.

si usted don't sabe fueron es id de archivo a continuación, consulte este artículo Artículo LINK

Comentarios (1)