Google Sheets API:调用者没有权限

2023-11-27

我正在尝试从 cron 中读取文档:

https://sheets.googleapis.com/v4/spreadsheets/<sheet_id>?key=<api_key>

知道链接的任何人都可以使用我的文档。


My #1 key settings:    
Application restrictions:

 - IP addresses (web servers, cron jobs, etc.) - I added my external IP address.
 - API restrictions - none

My #2 key settings:
Application restrictions:

 - IP addresses (web servers, cron jobs, etc.) - I added my external IP address.
 - API restrictions - Google Sheets API

My #3 key settings:
Application restrictions:

 - IP addresses (web servers, cron jobs, etc.) - I added my external IP address.
 - API restrictions - Google Sheets API, Google Drive API

My #4 key settings:
Application restrictions:

 - IP addresses (web servers, cron jobs, etc.) - none
 - API restrictions - Google Sheets API

My #5 key settings:
Application restrictions:

 - IP addresses (web servers, cron jobs, etc.) - none
 - API restrictions - Google Sheets API, Google Drive API

My #6 key settings:
Application restrictions:

 - IP addresses (web servers, cron jobs, etc.) - none
 - API restrictions - none

当我尝试使用每个键打开文档时,出现 403 错误:

{
  "error": {
    "code": 403,
    "message": "The caller does not have permission",
    "status": "PERMISSION_DENIED"
  }
}

使用 API Explorer 时也会出现同样的错误(https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/get).

同时,文档本身可以从任何计算机和任何浏览器的链接成功打开,甚至对未经授权的用户也是如此。

此问题于 7 月 9 日晚上 09:35 (UTC+0) 开始。

在此错误之前,我使用以下命令成功接收了文档中的数据#1 key settings.

Update:

我发现了另一个奇怪的细微差别:在所有其他文档上都没有这样的问题。在一份特定文档上发现错误。我将访问设置与其他设置进行了比较 - 它们是相同的。

更新2:

我尝试复制该表并通过 API 打开它 - 错误是相同的。 一个小时后我再次尝试——一切都成功了。


看到后悬停凤凰评论,我将我的工作表的访问权限更改为**任何有链接**的人Viewer mode.

Example Access Image

更改访问权限后,它可以正常工作。如果担心数据安全,那么最好的选择是使用 OAuth 2.0 客户端 ID 作为凭据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Sheets API:调用者没有权限 的相关文章

  • Blob 转换:获取 xlsx 文件

    我正在尝试发送一封电子邮件 其中包含xlsx文件已附加 但我遇到的问题是 当我下载该文件时 该文件以 PDF 格式打开 这是我的代码 function sendMail var sheet SpreadsheetApp getActiveS
  • 为什么 copyTo(... PASTE_VALUES) 在宏中间不起作用?

    我长期使用的电子表格技术之一是就地复制 粘贴特殊值 C PSV 使用公式生成我感兴趣的值后 I C PSV 然后可以删除源数据 所以我写了一个使用这种技术的宏 但单元格最终是空的 但如果我将宏分成两个 在 C PSV 之前结束第一个宏 那么
  • 如果 A 列中的值为 true,则将 C 列设置高一

    我正在编写一个脚本 该脚本使用 A 列中的一列复选框 B 列中的名称列表 然后是针对 B 列中的每个名称检查 A 列中的复选框的总次数 我让脚本运行整个 A 范围 寻找 True 语句 选中的框 并将结果应用到 C 列中的单元格 但它工作得
  • 电子表格的授权范围

    我创建了一个独立的 Google Apps 脚本 它不属于任何文档 该脚本会以固定的时间间隔自动触发 这个脚本 创建几个文件夹 如果它们不存在 创建一个 Google 电子表格 如果不存在 读过说 电子表格 更新日历事件 我注意到 当我第一
  • Google Apps 脚本 - 访问单元格备注和评论

    大家好 感谢您花时间查看我的问题 我是一名九年级老师 正在制作一份定制的成绩表 并且刚刚完成了一个 GUI 可以让家长查看孩子的成绩 然而 在实际的成绩单上 我使用单元格注释 以前是注释 来存储特定于成绩的信息 即吉米遗漏了作业的 b 部分
  • 如何从电子表格加载特定工作表

    我有一个包含很多工作表的电子表格 我需要加载其中一张工作表 我该怎么做 Here is a photo of the sheets in my Spreadsheet 这是我的想法如何做到这一点 var sheet SpreadsheetA
  • Google Apps 脚本 Gmail CSV 导入工作表错误

    我从各种谷歌搜索中拼凑了这段代码 如果电子邮件有特定标签 这些代码将提取电子邮件的 CSV 附件 function importCSVFromGmail gets first latest message with set label va
  • 带有 Google App 脚本的 Google Sheets:如何在返回最终结果之前向单元格写入“状态”消息?

    我有一个函数可能需要一段时间才能返回输出 有没有办法让它在单元格中打印一条消息 然后稍后用输出覆盖该消息 该函数可能需要 30 秒才能运行 并且可能在 20 30 个单元格中使用 因此很高兴看到哪个单元格仍在计算以及哪个单元格已完成 fun
  • Google应用程序脚本忽略数据验证错误

    我有一些具有数据验证规则的工作表可用作下拉列表 当尝试将其他 未经验证的 数据插入这些单元格时 我的代码现在会产生错误 我正在寻找一种方法来忽略数据验证规则并插入数据而不更改已设置的数据验证规则 我只想忽略应用程序脚本错误 您在单元格 U4
  • 对不同长度的数组使用 setValues()

    我在 Google Apps 脚本中有一个二维数组 其中包含不同长度的数组 我想在电子表格中设置数组的值 但是 由于其中的数组长度不同 我收到一个错误 本质上是说范围和数组高度不对齐 我在下面列出了数组结构的示例 如果我向每个单独的数组添加
  • Google 文档从脚本调用 ImportXML

    我在 google 文档表中使用 ImportXML 从 sistrix api 获取数据 它工作正常 但我遇到了一张纸中 50 个 ImportXML 命令的限制 因此 我使用了一个脚本 将 ImportXML 命令写入单元格 临时 公式
  • Google 脚本图表默认排除标题

    使用以下脚本 function chartCreation var ss SpreadsheetApp getActive var sheet ss getSheetByName Sheet1 var chart sheet newChar
  • 根据标准在多个需求之间分配数量

    我正在创建一个周期盘点表 表 1 将是用户输入 其中将放置找到的材料和数量 表 2 是盘点时的库存快照 我希望将找到的材料数量分配到表 2 上的数量中 直到表 1 的数量用完为止 按照从最新批次 日期代码 到最旧批次 先进先出 的顺序分配数
  • Google Apps 脚本:在电子邮件中发送 PDF 而不是 .zip 文件

    我有这段代码 可以从 Google 电子表格生成 PDF 文件并将其作为电子邮件附件发送 问题是它压缩文件const zipBlob Utilities zip blobs setName ss getName zip 我想更改它 以便附加
  • RefreshToken 在我获得新的令牌 Google Sheets API 后没有发回

    我正在使用带有 PHP 的 Google Sheets API 并遵循可以在此处找到的快速入门指南https developers google com sheets quickstart php https developers goog
  • 如何使用应用程序脚本在 Google 电子表格中移动工作表 [重复]

    这个问题在这里已经有答案了 我想使用应用程序脚本在电子表格中移动工作表 怎么做 最好的直播 你看过吗文档 https developers google com apps script reference spreadsheet sprea
  • 如何使用 Google Sheets onEdit() 触发器运行函数来更新 Google Form

    我有一个 Google 表格工作簿 其中有一个工作表 我想用它来保存工作簿和 Google 表单的设置 我做了一个定制onEdit 触发两个函数的函数 一个用于更新工作簿 另一个用于更新表单 function onEdit e var ra
  • Google Apps 脚本:连接日期和时间

    更新 要使用 AppsScript 创建 Google 日历事件 我们可以使用以下简单方法createEvent eventName startTime endTime 我已经使用过这个并且没有任何问题 但我使用的唯一日期格式是谷歌表格中的
  • Google电子表格脚本创建特定范围内的数据验证

    我正在尝试这个脚本来创建数据验证 但它总是不起作用 function test validation var Spread SpreadsheetApp getActiveSpreadsheet var Sheet Spread getSh
  • 将按钮添加到 Google 表格并在单击时为单元格设置值

    我是 Google 脚本的新手 我有一个包含 5 列的 Google 表格 在每一列上我需要一个按钮 带有文本1 2 3 4 5 在每个按钮上单击我需要将按钮文本设置为相应的单元格并隐藏单击的按钮 是否可以 您可以插入看起来像按钮的图像 然

随机推荐

  • 检查列值是否位于其他两个列值之间(范围)

    我有一个如下所示的数据框 Dataframe X id number found 1 5225 NA 2 2222 NA 3 3121 NA 我有另一个数据框 如下所示 数据框 Y id number1 number2 1 4000 600
  • 在 Android Studio 中生成签名 APK 时,签名版本 - V1(Jar 签名)和 V2(完整 APK 签名)之间的区别?

    请至少选择一个要在 Android Studio 2 3 中使用的签名版本 现在 在 Android Studio 中生成签名的 APK 时 它显示两个选项 复选框 即 1 V1 Jar Signature and 2 V2 Full AP
  • IIS7 下超出 Web 配置大小限制 0x80070032

    我有一个web config文件在我当前在 IIS7 上运行的解决方案中相当大 它在我的开发服务器上运行完美 但是我遇到了错误0x80070032 配置错误无法读取配置文件 因为它超出了最大文件大小 我当前的解决方案使用一个非常大的web
  • XGBoost 最佳迭代

    我正在使用 XGBoost 算法运行回归 clf XGBRegressor eval set X train y train X val y val early stopping rounds 10 n estimators 10 verb
  • 将列添加到包含其他列值列表的 pandas DataFrame

    我有一个 DataFrame 需要向其中添加一列 该列必须是两个值的列表 当前表 lat long other value 0 50 50 x 1 60 50 y 2 70 50 z 3 80 50 a 需要的表 lat long othe
  • 如何解决嵌套映射函数中的 SPARK-5063

    RDD 转换和操作只能由驱动程序调用 不能在其他转换内部调用 例如 rdd1 map x gt rdd2 values count x 无效 因为值转换和计数操作无法在 rdd1 map 转换内部执行 有关更多信息 请参阅 SPARK 50
  • 在64位linux上从32位模式切换到64位(长模式)

    我的程序在 x86 64 CPU 64位操作系统 ubuntu 8 04 上以32位模式运行 是否可以在用户模式下暂时切换到64位模式 长模式 如果是这样 怎么办 背景故事 我正在编写一个与32位模式程序链接的库 因此它在启动时必须是32位
  • React/TypeScript - “Dispatch>”代表什么?

    我正在用 TypeScript 编写 React 组件的前端测试 由于代码来自更有经验的程序员 因此某些数据类型对我来说似乎有点新 现在我有了一个使用 Dispatch 作为数据类型定义的道具 我注意到使用 useState Hook 的
  • 使用 css3 反转边框半径[重复]

    这个问题在这里已经有答案了 自从 3 小时以来 我一直在尝试寻找如何反转边框半径 我在 css3 中看到了专门为此目的的一个小代码 但我找不到它 你一定知道我正在使用 wordpress 不幸的是 有想法吗 如果您的选项卡具有纯色背景色 您
  • vim 折叠搞乱了语法高亮

    我使用 vim 作为 LaTeX 并且使用 Latex suite 它为我提供了很好的语法突出显示和折叠 但在大文件中 语法突出显示变得 混乱 如果我打开所有折叠 语法突出显示就会正常 但我希望它始终 正常工作 我似乎记得一个选项会增加用作
  • 如何查询 Active Directory 对象的有效权限?

    我试图以编程方式确定当前用户是否对给定的 Active Directory 对象具有某些权限 特别是在本例中 我试图确定用户是否具有其他 Exchange 用户或通讯组列表对象的 发送为 权限 我已经弄清楚如何访问ntSecurityDes
  • 如何从充当服务器的 iPhone 流式传输视频?

    我正在开发一款适用于 iOS 的应用程序 其中一台 iPhone 必须将其摄像头录像实时传输到另一台 iPhone 为简单起见 两台 iPhone 都位于同一个 Wi Fi 网络中 流媒体应该可以工作without物理互连 例如用于将流路由
  • 对通用 Java 类中的通用变量使用数学运算符

    我正在尝试编写一些代码 使我能够对 T extends Number 对象实例执行基本数学运算 它需要能够处理任何数字类型的子类Number 我知道下面的一些类型Number have add 内置方法 有些甚至有 multiply 方法
  • 转发声明未命名结构的 typedef [重复]

    这个问题在这里已经有答案了 可能的重复 未命名结构的前向声明 如果我有 typedef struct tagPAGERANGE int iFirstPage int iLastPage PAGERANGE 我可以这样转发声明 struct
  • 在 Windows Phone 8.1 中共享渲染到位图图像

    我想在 Windows Phone 8 1 中将画布作为图像共享 为此 我首先将画布转换为图像 然后共享它 我尝试了我的 Windows 8 1 代码 没有发生错误 但共享源应用程序中没有图像 仅出现描述和标题 这是代码 private a
  • 这是一个指向数组开头的指针吗?

    我刚刚帮助某人编写了一些代码 他有这个 char dataArray 10 然后想要获取指向数组开头的指针 而不是使用 dataArray 0 or just dataArray He used dataArray 他最终得到了一个指向指针
  • SP2010 客户端对象模型 3 MB 限制 - 未应用更新 maxReceivedMessageSize

    我正在使用客户端对象模型与 Sharepoint 2010 进行交互 当我尝试使用客户端 OM 上传大于 3 MB 的文档时 出现错误请求错误 微软建议this解决问题 我尝试过并更新了 maxReceivedMessageSize 属性
  • Django Rest Framework - 当尝试使用不正确的凭据登录用户时,为什么会返回 200 状态代码?

    这是我的 URLs py url r api auth include rest framework urls namespace rest framework 我的主页上有一个表单 用户可以在其中输入用户名和密码 单击提交按钮时 Angu
  • 如何在 C++ 中声明全局变量

    我知道不应该使用全局变量 但我需要它们 我读过 在函数外部声明的任何变量都是全局变量 我已经这样做了 但在另一个 cpp文件中 找不到该变量 所以它并不是真正的全球性 是不是得建立一个头文件GlobalVariabels h并将该文件包含到
  • Google Sheets API:调用者没有权限

    我正在尝试从 cron 中读取文档 https sheets googleapis com v4 spreadsheets