如何使用DriveAPI在Google电子表格中获得工作表列表(名称和“gid”)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (40)

我试图使用GoogleDriveAPI(Python)下载电子表格文件的一些选项卡。GID信息在文件的元数据中吗?我想做的是:

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.

提问于
用户回答回答于

你可以使用Google Apps脚本中的电子表格服务完成此操作。这不像直接进行API调用那么方便,但至少可以这样做:

  1. 调用该SpreadsheetApp.openById(id)方法以使用驱动器打开电子表格file_id
  2. 调用该Spreadsheet.getSheets()方法来检索Sheet对象列表。
  3. 对于每个工作表,调用Sheet.getSheetId()and Sheet.getSheetName()方法获取名称(电子表格用户可以看到的名称)和sheetId(这是gid=导出时需要在参数中提供的内容)。

你可以使用最近宣布的Apps Script Execution API为你的Apps脚本项目提供REST API,然后你可以以类似的方式调用Drive API。

用户回答回答于

这里是简单的回答:

def to_gid(worksheet_id):
    return int(worksheet_id, 36) ^ 31578

扫码关注云+社区