Tengo una hoja de cálculo de Google que no se ha hecho pública, pero que solo está disponible para cualquiera que tenga el enlace de acceso. Aunque puedo acceder a los datos en formato CSV desde mi navegador, incluso cuando no estoy conectado a mi cuenta de Google (es decir, se permite el acceso anónimo), no hay forma de que pueda descargar los datos desde la línea de comando usando wget, por ejemplo . He encontrado varias páginas web con algunas instrucciones para crear la URL de descarga, pero hasta ahora no he tenido éxito. ¿Existe una manera fácil y directa de hacerlo o tendré que utilizar alguna biblioteca de Google Data para acceder a esos datos?Descargar hoja de cálculo de Google no publicada como CSV
Respuesta
Ahora puede responder a las preguntas, así que voy a dejarlo respondió por buena (pegar de mi comentario anterior).
Mi problema es que no estaba almacenando la cookie correctamente. En ese momento, estaba usando un programa de Python para intentar descargar esto.Esto solucionó el problema que estaba informando:
# Cookie management
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(CookieJar()))
csv_data = csv.reader(opener.open(url))
Tal vez no entiendo correctamente lo que está tratando de hacer, pero encontré una solución in this article que funciona bien para mí.
En el artículo, el autor crea un enlace para descargar la hoja de cálculo como un archivo XLS (usando "& salida = xls”), pero me trataron '& salida = csv' y se descargaron con éxito un archivo CSV correcta.
Aquí está el enlace de descarga a mi "Descargar hoja de cálculo de prueba", construida sólo la forma en que el autor del artículo sugiere, pero con "csv" sustituido por "xls":
https://docs.google.com/spreadsheet/ccc?key=0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc&output=csv
el enlace es anónima (es decir, "Cualquiera que tenga el enlace puede ver"), y Lo descargué sin iniciar sesión en mi cuenta de Google. Debo admitir que no usé wget para hacerlo (solo usé un navegador, no tenía instalado wget), pero no puedo pensar en una razón por la cual wget no funcione igual de bien.
De hecho, acabo agarró una copia de wget y probé, y que descarga el archivo correctamente también:
% wget --no-check-certificate --output-document=test.csv 'https://docs.google.com/spreadsheet/ccc?key=0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc&output=csv'
< bla bla bla, reams of output from wget >
% cat test.csv
Foo,Bar,Baz
1,2,3
4,5,6
Así que ya va ...
ACTUALIZACIÓN PARA 2018
Como se ha comentado por @AndyMortimer, la nueva URL descarga es
https://docs.google.com/spreadsheets/d/<KEY>/export?gid=<GID>&format=csv
donde <KEY>
y <GID>
se puede obtener de su URL de navegación ,
https://docs.google.com/spreadsheets/d/<KEY>/edit#gid=<GID>
PS: hojas de cálculo pueden tener varios libros, GID es el ID de libro deseado. La hoja de cálculo de un libro generalmente tiene gid=0
, pero si agrega más, tendrán números aleatorios (el GID se preselecciona, incluso cambiando el orden de las pestañas).
Por lo tanto, el uso de wget
y la misma hoja de cálculo,
wget --no-check-certificate -O test.csv \
'https://docs.google.com/spreadsheets/d/0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc/export?gid=0&format=csv'
soy capaz de obtener una URL -able wget
de direcciones URL de hojas de cálculo públicos que se ven así:
https://docs.google.com/spreadsheets/d/LONG_ID_STRING/edit?usp=sharing
cambiándolos a tener este aspecto:
https://docs.google.com/spreadsheets/d/LONG_ID_STRING/export?format=csv
para que mi comando wget se vería así:
$ wget "https://docs.google.com/spreadsheets/d/LONG_ID_STRING/export?format=csv"
Asegúrese de compartir la hoja de cálculo primero con el botón azul "Compartir" en la parte superior derecha, luego "Obtener enlace compatible".
para cambiar el nombre de archivo con wget use: wget -O FILE URL – schurpf
Quiero agregar que el segundo LONG_ID_STRING no parece importar. La siguiente URL funciona bien: 'https: //docs.google.com/spreadsheets/d/LONG_ID_STRING/export? Format = csv' –
Esta solución funcionó para mí. @ArjunGuha es correcto. Los segundos 'LONG_ID_STRING' no son necesarios. –
Para acceder a otras pestañas que necesita para hacer clic y obtener el gid de esa pestaña, por lo que:
se convierte en:
encontré con este problema y probado unos pocos de las soluciones. Ninguno funcionaba perfectamente, así que escribí este rizo que parece hacer el trabajo. Necesita compartir la hoja de cálculo de Google con cualquier persona que tenga el enlace para que funcione
curl -o /path/to/file/you/want/csv/to/go.csv 'https://docs.google.com/spreadsheet/ccc?key=[the-id-of-your-spreadsheet]&output=csv' -L
la -L
es el truco aquí tiene Google a menudo se mueve el csv alrededor pero le enviará un enlace de redirección. -L
dice curl
para seguir los redireccionamientos hasta que aterrice en el archivo.
se encuentra la id
de la hoja de cálculo abriéndolo en Google Drive y mirando a la url
https://docs.google.com/spreadsheets/d/[idwillbehere]/edit#gid=0
Por favor, debe mostrar cómo se asignan '_BIG_BASE64_' y' _ID_' de 'https: // docs.google.com/spreadsheets/d/_BIG_BASE64_/edit # gid = _ID_' a su' curl'. No hay 'ccc' y no' key 'args en las hojas de cálculo (plural). –
- 1. ¿Guardar hoja de cálculo de Excel como .csv con R?
- 2. Hoja de cálculo de Google: SUMAR con FIND como criterio
- 3. Google hoja de cálculo de formato condicional de hoja de cálculo
- 4. Cómo agregar encabezado en la hoja de cálculo de Google
- 5. Cómo usar RegExReplace en la hoja de cálculo de Google
- 6. Convierte localizable.strings a hoja de cálculo?
- 7. Qué configurar como tipo MIME para que los archivos csv se abran en aplicaciones de hoja de cálculo
- 8. Formulario de hoja de cálculo de Google, rellenar opciones de formulario basadas en una hoja de cálculo
- 9. Cómo copiar una fila de una hoja de cálculo de google a otra hoja de cálculo de google usando el script de google apps?
- 10. Crear nueva hoja de cálculo (API Google/Python)
- 11. Cómo adjuntar cada celda con comillas dobles en la hoja de cálculo de Google Docs
- 12. Diseñe una tabla HTML para que parezca una hoja de cálculo como Google Docs
- 13. Hoja de cálculo de Google Error de consulta: la columna no existe
- 14. ¿Cómo agrego fórmulas a la hoja de cálculo de Google con Google Apps Script?
- 15. ¿Cómo convertir el id. De cadena de la hoja de cálculo de la hoja de cálculo de Google a un índice entero (GID)?
- 16. Google Play - ¿Descargue el enlace de la aplicación no publicada?
- 17. ¿Puedo generar un archivo desde el script de hoja de cálculo de Google?
- 18. Copie una hoja de cálculo de Google Docs con Google .NET API
- 19. JSP que genera hoja de cálculo de Excel (XLS) para descargar
- 20. SUMAR.SI.CONJUNTO de cálculo de Google
- 21. Copie una hoja de cálculo completa en una nueva hoja de cálculo en Excel 2010
- 22. Cómo descargar y mostrar la hoja de cálculo de Excel en el navegador
- 23. Administrar versiones de hoja de cálculo
- 24. Tabla fórmula de hoja de cálculo org
- 25. Extrae datos de una hoja de cálculo Excel
- 26. Aplicación para Android publicada, pero no visible en Google Play
- 27. PHP: ¿convierte la tabla HTML en hoja de cálculo?
- 28. hoja de cálculo de Google obtener valor de celda con índice de fila y columna
- 29. ¿Por qué VBA ActiveWorkbook.SaveAs cambia la hoja de cálculo abierta?
- 30. ¿Cómo utilizar la función de agregar fecha en la hoja de cálculo de Google?
Sólo por curiosidad he intentado ir a buscar el archivo con wget utilizando tanto "y salida = xls" y "& output = txt", y ambos ensayos funcionaron correctamente también. (El formato "txt" hace que la hoja de cálculo se descargue como un archivo delimitado por tabulaciones, que era algo que no hubiera sabido si no hubiera empezado a perder el tiempo con esto. ¡Así que gracias! Aprendí un par de cosas nuevas en este proceso.) – Hephaestus
Al final, sin ningún motivo que aún no entiendo, no pude descargar el archivo. Pude hablar con el propietario para hacerlo público, así que ese fue el final del problema para mí. Gracias por tus respuestas de todos modos. –
Claro, no se preocupe. En realidad, no tenía experiencia con nada de eso cuando encontré tu pregunta, estaba intentando descubrir cómo hacer algo similar en ese momento. Así que fue un buen ejercicio para mí descubrir cómo hacerlo, y gran parte de mi razón para responder fue documentar lo que había descubierto. Es bueno que haya podido encontrar una solución alternativa tan efectiva. :-) – Hephaestus