java - Google 电子表格 key 版本

标签 java google-sheets-api google-drive-api

2014 年 3 月,Google 电子表格升级为 Google 表格。

使用 Google Spreadsheet API v3 (java):

  • 在旧版本创建的工作表上,函数 gsService."oldsheet".getKey() 返回一个 23 长度的 key 。
  • 在新版本创建的工作表上,函数 gsService."newsheet".getKey() 返回一个 44 位长度的 key 。

我的问题如下。我想使用 Drive API 来检索文件,该文件使用之前从 Google Spreadsheet API 请求的 key 。

因此,使用 Drive API:

driveService.files.get(sheetKey);

这适用于最新版本的 Google 电子表格文件(2014 年 3 月之后),但在旧版本的 Google 电子表格文件(2014 年 3 月之前)上返回“未找到”结果。

如何[在服务器端]将旧 key 转换为新 key ?

最佳答案

适用于驱动器的电子表格 key :

我遇到了一个听起来与此相同的问题。我切换到使用通过 google apps 脚本创建的 key 。

function getSpreadsheetURLKey() {
  var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
  var spreadsheetDriveFile = DriveApp.getFileById(spreadsheetId);
  var spreadsheetURLKey = spreadsheetDriveFile.getId();
  return spreadsheetURLKey;
}

关于java - Google 电子表格 key 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553622/

相关文章:

node.js - 如何使用 Nodejs 在没有 OAuth 的情况下使用 Google Drive API?

c# - 使用 C# 在 Google Drive Api v3 中获取 root id

google-visualization - 如何通过谷歌电子表格应用程序自定义代码更新或管理带注释的时间线图表?

google-sheets - 如何查找单元格中连续正数之后的值

java - 为什么 HttpURLConnection 不发送多个 header ?

java - 如何将调试器附加到 jvm.dll 执行的 java 程序?

google-bigquery - Google Dataflow - 由 GoogleSheets 支持的 BigQuery 作业

php - 按修改时间对文件列表进行排序(Google Drive API)

Java ArrayList.add() 方法对于纯并行添加线程安全吗?

java - Java 中的 RNGCryptoServiceProvider