无需Google Drive权限通过API复制Google Spreadsheet的方法咨询
无需Drive API复制完整Google Spreadsheet的可行方案
核心实现思路
直接复用Sheets API现有能力批量处理所有工作表即可,全程不需要调用Drive API,也无需访问客户的Google Drive存储空间。
具体操作步骤
- 调用
spreadsheets.get接口读取源模板表格的元数据,获取所有工作表的sheetId列表 - 调用
spreadsheets.create接口创建空白的新电子表格,记录新表格的ID - 遍历所有源表sheetId,逐个调用
spreadsheets.sheets.copyTo接口,将每个工作表从源表复制到新表中 - 如果需要保留源表的工作表顺序,复制完成后调用
spreadsheets.batchUpdate接口,传入UpdateSheetProperties请求调整新表内各工作表的索引即可
权限说明
该方案仅需要申请Sheets API的相关权限即可运行:
- 源模板表格只要提前开放「查看者」及以上权限就能正常读取内容,不需要存入你或客户的Drive目录
- 新创建的表格默认归属到API凭证对应的Google账号名下,不会访问或修改客户Drive内的任何文件
注意事项
spreadsheets.sheets.copyTo接口支持完整复制工作表内的公式、条件格式、数据验证规则、嵌入式图表、单元格样式等所有内容,无需额外适配- 单账号调用Sheets API有默认频率限制,每秒最多发起10次请求,源表工作表数量较多时可以增加少量请求间隔避免触发限流
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

