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

Roy*_*00H 4 google-sheets google-apps-script google-drive-api google-sheets-api

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

我收到了另一个电子表格,我想在上面运行类似的流程。如果我尝试:( SpreadsheetApp.openById("_______")在另一张纸上有效),我会得到Exception: Service Spreadsheets failed while accessing document with id _____"这张纸。这个电子表格实际上是 Google Drive 上的一个 xlsx(但它似乎仍然可以在 Google 表格中打开)而不是原生的 Google 表格,所以我想也许这就是问题所在......?

所以现在我尝试使用DriveApp.getFileById("____"). 但是现在我收到了一个授权请求,允许我的脚本访问 Google Drive。当我授权时,我得到:

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

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

Roy*_*00H 7

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

为了使用 Apps 脚本,我从 @alper 的解决方案中修改了它,该解决方案来自 @tellowkrinkle 的评论

请执行下列操作:

  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 脚本时,系统会要求您进行授权,但这次您将有机会真正成功执行此操作。