如何使用服务帐户凭据访问 Google 电子表格?

2022-08-30 13:40:47

我在PHP中创建了一个服务器端应用程序,应该可以与Google电子表格一起使用。

我能够使用 OAuth 2.0 身份验证成功进行身份验证,但在从 Google 请求电子表格列表时,我只能获得电子表格所有者与服务帐户共享的电子表格。

有没有办法让服务帐户检索我的主帐户而不是服务帐户拥有的所有电子表格,包括那些未与服务帐户明确共享的电子表格?

此外,我仍然希望保持电子表格的私密性,以便未经我许可,任何人都无法访问它们,但我需要服务帐户才能完全访问现有电子表格和新电子表格。

任何建议都是值得赞赏的。


答案 1

下面是一个示例脚本,该脚本使用服务帐户读取 Google 电子表格工作表的内容。查看自述文件,了解设置说明:

https://github.com/juampynr/google-spreadsheet-reader


答案 2

你必须改变方法:

  1. 在云端硬盘中创建服务帐号。您只能通过 API 管理和使用此帐户(通常不能通过 Web 界面)

  2. 借助云端硬盘 API,您可以列出、创建、更新、删除和更改文件的权限。创建新文件时,您可以始终使用 API 将其共享给所需的用户、公开新文件或更改所有权。

请看一看:https://developers.google.com/drive/v2/reference/permissions


推荐