无法打开 Google xlsx 电子表格/Google Drive 权限也被阻止

问题描述 投票:0回答:2

我有一个 Google Apps 脚本,目前正在使用它成功打开 Google Sheets 电子表格(与我的帐户共享只读)并执行一些阅读功能。

我收到了另一个电子表格,我想在其上运行类似的流程。 如果我尝试:

SpreadsheetApp.openById("_______")
(适用于另一张纸),我在这张纸上得到
Exception: Service Spreadsheets failed while accessing document with id _____"
。这个电子表格实际上是 Google 云端硬盘上的 xlsx(但似乎仍然可以在 Google 表格中打开)而不是本机 Google 表格,所以我想这可能就是问题所在......?

所以现在我尝试使用

DriveApp.getFileById("____")
将其作为 Google 云端硬盘文件进行访问。但是现在我收到一个授权请求,允许我的脚本访问 Google 云端硬盘。当我授权时,我得到:

此应用程序已被阻止
此应用试图访问您的 Google 帐户中的敏感信息。为了确保您的帐户安全,Google 阻止了此访问。

我还没有找到解决这个问题的方法。我使用的是私人 Google 帐户,而不是使用公司的应用程序。 有什么想法吗?

google-apps-script google-sheets google-drive-api google-sheets-api
2个回答
10
投票

找到了权限问题的解决方案。

为了使用 Apps 脚本,我已从 @alper 的 solution 修改了此内容,该解决方案源自 @tellowkrinkle 的 comment

执行以下操作:

  1. 转到 https://console.developers.google.com 并为自己创建一个新项目
  2. 在顶部搜索框中搜索Google Drive API,然后开启
  3. 单击左侧的 OAuth 同意屏幕并进行设置。
    • 假设您的帐户不属于组织,您必须说您的应用程序面向外部用户并且正在测试中
    • 在所需范围部分中,添加 .../auth/docs 和 .../auth/drive (我不确定需要哪个,它可能只是其中之一)。如果您没有完成 (2),这可能不可用
    • 添加您想要与 gdrive 副本一起使用的帐户作为应用程序的测试人员。只有这些帐户才能使用您的 gdrive 副本,因此每个人都必须编译自己的副本(除非有人去让 Google 审核他们的副本)。我只添加了自己的帐户,因为我是唯一一个使用我的应用程序脚本(该脚本使用我的云端硬盘)的帐户。
  4. 单击右上角的 3 个点,然后选择“项目设置”。记下“项目编号”。
  5. 转到您的 Apps 脚本。转到资源 > 云平台项目。插入 (4) 中的项目编号。
  6. 下次您尝试运行 Apps 脚本时,系统会要求您授权,但这次您将有机会真正成功完成该操作。

0
投票

创建一个用户并测试是否有效。但您必须每 7 天更新一次权限。 还有其他解决办法吗?

© www.soinside.com 2019 - 2024. All rights reserved.