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

标签 google-apps-script google-sheets 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 Drive。当我授权它时,我得到:

This app is blocked
This app tried to access sensitive info in your Google Account. To keep your account safe, Google blocked this access.


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

最佳答案

找到了权限问题的解决方案。
为了使用 Apps 脚本,我从 @alper 的 solution 修改了它。哪些来源@tallowkrinkle 的comment .
请执行下列操作:

  • 转至 https://console.developers.google.com并为自己创建一个新项目
  • 在顶部的搜索框中搜索 Google Drive API,并将其打开
  • 单击左侧的 OAuth 同意屏幕并进行设置。
  • 假设您的帐户不是组织的一部分,您必须说您的应用程序适用于外部用户并在测试中
  • 在所需的范围部分,添加 .../auth/docs 和 .../auth/drive (我不确定哪个需要,它可能只是其中之一)。如果您没有完成 (2)
  • ,这可能不可用
  • 添加您要与 gdrive 副本一起使用的帐户作为应用的测试人员。只有这些帐户才能使用您的 gdrive 副本,因此每个人都必须自己编译(除非有人去 Google 审查他们的)。我只添加了我自己的帐户,因为我是唯一一个使用我的驱动器的应用程序脚本的人。

  • 单击右上角的 3 个点,然后选择“项目设置”。记下“项目编号”。
  • 转到您的 Apps 脚本。转到资源 > 云平台项目。插入 (4) 中的项目编号。
  • 下次您尝试运行您的 Apps 脚本时,系统会要求您进行授权,但这次您将有机会真正成功地执行此操作。
  • 关于google-apps-script - 无法打开 Google xlsx 电子表格/Google Drive 权限也被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65316819/

    相关文章:

    git - 是否可以从 Google 云端硬盘管理 GIT 非裸仓库?

    javascript - 获取 G Suite 中给定用户列表的用户事件报告

    google-sheets - 应用色阶条件格式,以便每一行独立格式化

    android - GoogleAccountCredential-[错误]名称不能为空: null - despite permissions

    google-sheets - 在 Google 表格中查找默认填充颜色的颜色代码

    google-drive-api - Google Drive API Java 权限 500 内部错误

    android - 在模块中发现重复的类 com.google.api.client.http.apache.ApacheHttpRequest

    ios - 安装了 Google Drive API,但出现错误 "no such module ' GoogleAPIClient'"

    javascript - 在谷歌电子表格中连接日期和时间

    javascript - include 语句在 Google 脚本中不起作用