for - python google drive api
¿Cómo puedo obtener una lista de hojas(nombre y "gid") en una hoja de cálculo de Google utilizando la API de Drive? (2)
Estoy intentando usar la API de Google Drive (Python) para descargar algunas pestañas de un archivo de hojas de cálculo. ¿Está la información de gids en los metadatos del archivo? Lo que estoy tratando de hacer es (esto puede no ser correcto, por favor sugiera :)):
file_metadata = self.service.files().get(file_id=file_id).execute()
# in the following line, how can I get a download url with a gid (a tab in a spreadsheet file)
download_url = file_metadata.get(''exportLinks'')[''text/csv'']
# download the file.
Gracias:)
De hecho, esto parece ser un duplicado de ¿Cómo convertir el ID de cadena de la hoja de cálculo de Google al índice de enteros (GID)?
Aquí está la respuesta rápida:
def to_gid(worksheet_id):
return int(worksheet_id, 36) ^ 31578
Puede hacerlo usando el servicio de hoja de cálculo en el script de Google Apps. No es tan conveniente como tener una llamada API directa, pero al menos es posible:
- Llame al método
SpreadsheetApp.openById(id)
para abrir la hoja de cálculo usando el Drivefile_id
. - Llame al método
Spreadsheet.getSheets()
para recuperar una lista de objetos deSheet
. - Para cada hoja, llame a los
Sheet.getSheetId()
ySheet.getSheetName()
para obtener el nombre (que es lo que ve el usuario de la hoja de cálculo) y el SheetId (que es lo que debe proporcionarse en el parámetrogid=
al exportar) .
Puede usar la recientemente anunciada Apps Script Execution API
para proporcionar una API REST para su proyecto de Script de Aplicaciones, que luego puede llamar de manera similar a la API de Drive.