Google Sheet OAuth 范围只能访问几个文件?
Google Sheet OAuth scopes to only access a few files?
我们有一个受限制的应用程序,我们在其中控制用户帐户的创建。我们还使用 Google 登录。目前,该应用程序未经验证并且可以正常使用,因为所有用户都在我们的 GSuite 域中。但是我们想将其扩展到我们的 GSuite 域之外的用户。
用户可以在我们的应用程序中提供 link 到价差 sheet,应用程序将根据用户请求修改 sheet。
有没有办法只请求一个 OAuth
范围,只允许访问特定文件?这
https://www.googleapis.com/auth/spreadsheets
对我们的用法来说似乎有些过分了。
注意:传播sheet已经存在,所以权限https://www.googleapis.com/auth/drive.file
在我们的例子中不起作用。
没有这样的范围。
您可以在官方表格 API 文档中看到,对于将修改电子表格的 API 调用,唯一允许的范围是这些范围(参见 batchUpdate, append, or clear,例如):
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/spreadsheets
考虑到 drive.file
不是一个选项,而且 drive
比 spreadsheets
更 "overkill",目前没有适合您需求的范围。
功能请求:
不过,这在未来可能会改变。 Issue Tracker 中目前有一个开放的功能请求,内容是关于将应用程序的访问权限限制为仅特定文件夹:
您可以单击参考页面左上角的星标以跟踪此信息。
另一种解决方案是使用 service account
而不是 app
:
service account
将生成一封电子邮件。文档可以与该电子邮件共享。
- 您可以将访问凭据下载到 JSON 文件中的服务帐户。所以在访问方面它们非常像一个应用程序,只是它们不需要经过验证过程。
- 使用这些凭据,您将只能访问通过其电子邮件地址与服务帐户共享的文件。
这是一个很好的示例项目,它通过屏幕截图显示了 UI 中所需的步骤:
我们有一个受限制的应用程序,我们在其中控制用户帐户的创建。我们还使用 Google 登录。目前,该应用程序未经验证并且可以正常使用,因为所有用户都在我们的 GSuite 域中。但是我们想将其扩展到我们的 GSuite 域之外的用户。
用户可以在我们的应用程序中提供 link 到价差 sheet,应用程序将根据用户请求修改 sheet。
有没有办法只请求一个 OAuth
范围,只允许访问特定文件?这
https://www.googleapis.com/auth/spreadsheets
对我们的用法来说似乎有些过分了。
注意:传播sheet已经存在,所以权限https://www.googleapis.com/auth/drive.file
在我们的例子中不起作用。
没有这样的范围。
您可以在官方表格 API 文档中看到,对于将修改电子表格的 API 调用,唯一允许的范围是这些范围(参见 batchUpdate, append, or clear,例如):
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/spreadsheets
考虑到 drive.file
不是一个选项,而且 drive
比 spreadsheets
更 "overkill",目前没有适合您需求的范围。
功能请求:
不过,这在未来可能会改变。 Issue Tracker 中目前有一个开放的功能请求,内容是关于将应用程序的访问权限限制为仅特定文件夹:
您可以单击参考页面左上角的星标以跟踪此信息。
另一种解决方案是使用 service account
而不是 app
:
service account
将生成一封电子邮件。文档可以与该电子邮件共享。- 您可以将访问凭据下载到 JSON 文件中的服务帐户。所以在访问方面它们非常像一个应用程序,只是它们不需要经过验证过程。
- 使用这些凭据,您将只能访问通过其电子邮件地址与服务帐户共享的文件。
这是一个很好的示例项目,它通过屏幕截图显示了 UI 中所需的步骤: