给定一个 Google Sheet ID,是否可以使用 Google Sheet API 获取 sheet 所有者的详细信息?

Given a Google Sheet ID, it is possible to get details of the owner of the sheet using Google Sheet APIs?

我正在尝试解析 google sheet 中存在的一些数据,我还想获得有关 google sheet 所有者的详细信息(比如所有者的姓名,也可能是电子邮件 ID)。 是否可以通过使用 Google Sheet API 来做到这一点?

你无法通过 google 张 api 做到这一点。但是,如果您通过 google 驱动器 api 并对文件执行 file.get,您会得到类似的结果。

 "owners": [
  {
   "kind": "drive#user",
   "displayName": "XXXXX",
   "photoLink": "https://lh3.googleusercontent.com/a-/AOh14GhkDDDZulUhea-c-7_eeZFaG8zpOnTHwYJE8=s64",
   "me": false,
   "permissionId": "XXXXX",
   "emailAddress": "XXXXX@gmail.com"
  }
 ],

驱动器和工作表使用相同的作用域,因此您无需授权任何其他作用域即可使用驱动器 api。您只需要创建一个类似于现在用于工作表的驱动服务对象。

service = build('drive', 'v3', credentials=creds)

专业提示 file.get 确保您设置 fields = *id, owners

根据 DalmTo 的建议,我可以使用 Google Drive API 获取详细信息。

创建驱动服务后,以下代码将获取所有者详细信息 -

response = service.files().get(fileId=googlesheetid,fields='owners').execute()

响应将包含这样的数据 -

{"owners": [
  {
   "kind": "drive#user",
   "displayName": "XXXXX",
   "photoLink": "https://lh3.googleusercontent.com/a-/AOh14GhkDDDZulUhea-c-7_eeZFaG8zpOnTHwYJE8=s64",
   "me": false,
   "permissionId": "XXXXX",
   "emailAddress": "XXXXX@gmail.com"
  }]}