从 Google 表格调用时 getOAuthToken 返回 null

2023-12-13

我正在研究一种方法,通过 oAuth 规范和 AWS API 网关调用来限制特定用户的某些 Google 表格,但我遇到了一个问题ScriptApp.getOAuthToken()功能。

当我使用 Google Apps 脚本调试器运行代码时,一切都很好,ScriptApp.getOAuthToken()返回一个可以传递给我的 AWS API 的令牌。目前的预期结果只是接收用户名。 但是,如果我尝试在 Google 表格单元格中使用我的函数作为宏,则会出现以下错误Header:null (line 13)

这是 Code.gs 文件中的代码

function HelloW() {
  var token = ScriptApp.getOAuthToken();
  var headers = {
    'Authorization' : token
  }

  var options = {
    'headers' : headers,
    'method' : 'post',
    'contentType': 'application/json',
    'payload' : JSON.stringify(data)
  };

  var response = UrlFetchApp.fetch('https://###/demo-lambda', options);

  var txt = response.getContentText();
  var json = JSON.parse(txt);
  var name = json.Message;

  return name;
}

和清单以防万一

{
  "timeZone": "Europe/Paris",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": ["https://www.googleapis.com/auth/script.external_request", 
"https://www.googleapis.com/auth/spreadsheets", 
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/drive"],
  "sheets": {
    "macros": [{
      "menuName": "HelloW",
      "functionName": "HelloW"
    }]
  }
}

我有一个错误,因为token为空,但我不明白为什么它在调试器中运行良好,但在表格文档中却不然。我错过了一些东西,但我找不到什么。

任何帮助将非常感激。


您无法在需要用户授权的宏内部进行调用。

与大多数其他类型的 Apps 脚本不同,自定义函数从不询问 用户授权访问个人数据。因此,他们只能调用无法访问个人数据的服务。

Source

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

从 Google 表格调用时 getOAuthToken 返回 null 的相关文章

  • 尝试获取 Google accessToken

    看起来 无论我做什么 谷歌都在竭尽全力阻止我完成这个研究项目 我的项目让我使用 Google 电子表格作为数据库 并使用所述电子表格中的数据执行程序化的 Google 图片搜索 并向最终用户显示一些结果 设置说明 我开始按照此处的说明进行操
  • 如何在多个文档中使用 Google Apps 脚本

    我有一个谷歌应用程序脚本 我想在多个文档中使用它 我也可能想稍后在这些文档中更改它 因此我必须使用same所有这些文档中的脚本 而不是该脚本的副本 我知道以下问题可能属于重复问题 但我不愿意接受它的答案 Google Apps 脚本 如何在
  • 将身份验证从一个 Google Apps 脚本网络应用程序传递到另一 Google Apps 脚本网络应用程序

    我的 Google Apps 帐户中有两个 Google Apps 脚本 两者均已发布为具有以下设置的网络应用程序 脚本A 像我一样执行谁有权访问网络应用程序 XXXXXXX com 内的任何人 脚本B 以访问应用程序的用户身份执行谁有权访
  • 为什么我们使用 SpreadsheetApp.flush()?

    我的理解是 flush https developers google com apps script reference spreadsheet spreadsheet app flush有助于在功能发生时执行这些功能 而无需将它们捆绑在
  • ArrayFormula 破坏了 getLastRow() 函数。可能的解决方法?

    在我的电子表格中 我有一个正在运行的脚本 它使用getLastRow 功能是其逻辑的重要组成部分 自从我在其中一列中应用数组公式以来 getLastRow 功能无法正常工作 即使其他列中没有其他值 数组公式似乎也一直 应用 到工作表的底部
  • 有没有办法导入/导出容器绑定脚本

    我有一个插件 它使用 appscripts gs 以及 html js 和 css 文件 目前我们所做的是我们有一个参考 Google 文档 其中有一个脚本项目包含所有这些源代码 但是除了手动复制和粘贴之外 没有办法在 GIT 中保留源代码
  • 您可以在不是在 Google 协作平台下创建的网站上使用 Google 脚本吗? [复制]

    这个问题在这里已经有答案了 Google 脚本有一种方法可以嵌入到 Google 网站中 但我想知道是否可以在非 Google 托管的网站上使用 Google 脚本 此 google 脚本的目的是作为 Javascript 的简单替代方案
  • 在 Google Apps 脚本中,如何为我实现的服务设置 HTTP 响应代码?

    假设我有一个返回 XML 文档的 服务 function doGet var result
  • 从电子表格脚本中调用 Web 应用程序脚本?

    如何从 Google 电子表格容器中的脚本调用外部 Google Web App 脚本 我有许多动态创建的电子表格 并希望它们全部调用一个 Web 应用程序 以实现一致性和易于维护 看看这篇博文 触发主从电子表格之间的更新 http www
  • 使用 google.script.run 从 html 调用库函数

    我使用 Google App Script 实现库 并且使用 google script run 从库中调用函数时遇到一些困难 这是我的图书馆的代码 Code gs function ShowSideBar var html HtmlSer
  • 嵌入来自谷歌驱动器的图像,没有灰色边框和缩放工具?

    I have a webpage that has an image that is stored in google drive and using the google drive embed code results in this
  • Google Sheets - 如何从 iOS 应用程序运行脚本?

    我在电子表格中使用脚本在活动行下方添加行并从活动行复制内容 在 PC 上 我可以通过图像 绘图触发脚本 效果很好 但我不知道如何让它在 iOS 应用程序中工作 其中图像触发不起作用 并且将内容从一个应用程序复制到另一个应用程序是一场噩梦 我
  • 使用 Odoo 配置 Google 电子表格

    我想在 Odoo 中获取 google 电子表格中的报告数据 我已完成以下步骤来使用 Odoo 配置 google 电子表格 在 Odoo 中安装了 Google 电子表格模块 生成的Google授权码 试图在 Google 电子表格上获取
  • 如何隐藏工作表?

    如何使用 googleScript 隐藏电子表格应用程序中的一些工作表 我有一个包含多个工作表的电子表格 我想使用 googlScript 将电子表格缩小为仅第一个可见工作表和所有其他隐藏工作表 sheet hideSheet https
  • 从 Google 电子表格中的列填充 HTML 下拉菜单

    我是 gs 的新手 所以这应该不难 我有一个 Google 电子表格 其中一列中有值 假设 A 列 我使用 gs 创建了一个自定义菜单 用户将在其中选择一个选项 单击其中一个选项 新组件 将出现一个弹出窗口 其中包含一个下拉菜单 用户应从其
  • 向文档添加动态页眉/页脚

    我想知道是否有一种方法可以向文档添加动态页眉或页脚 即在页脚中添加每个页面都不同的 页面标题 据我所知 编辑内置页眉或页脚将反映在每个页面上 我想知道是否有人想到了一种解决方法 通过访问页面上的第一行 最后一行并在那里插入文本来 强制 它
  • 联系人应用程序性能

    对谷歌脚本的 ContactsApp 进行一些测试并加载联系人 看起来运行 ContactsApp getContacts 加载所有联系人 所需的时间与运行 ContactsApp getContact email 特定联系人 所需的时间一
  • XPath 将元素中的所有文本作为一个值获取,删除换行符

    我试图获取以下一组节点中的所有文本并作为一个值返回 而不是多个节点 p I love eating out br br This is my favorite restaurant br I will definitely be back
  • 将时间戳转换为一个数组

    在应用程序脚本 谷歌表中运行 我从 API 获取时间戳并返回此结果 1 6370611672429312E18 1 63706107263277082E18 我执行此代码并且工作正常 但问题不在数组中 我每次都需要它在数组中 const t
  • 有没有办法将 Google 文档分割成多个 PDF?

    我想在 Google Scripts VBA 代码中复制我为 Word 文档编写的代码 基本上 它通过搜索我插入文档中的标签 将文档 切片 为多个 PDF 文件 目的是允许合唱团使用 forScore 管理乐谱的应用程序 在切片点插入先前注

随机推荐

  • 弹出菜单项图标

    我的应用程序有问题 我需要展示一个PopupMenu我需要此菜单中的每个项目都包含文本和图像 图像应显示在文本的左侧 但它没有显示 有什么建议如何实现它吗 我的代码到目前为止 public void showMenu Button butt
  • 用 swig 包装专门的 C++ 模板类

    考虑以下类声明 namespace X template
  • Python BeautifulSoup 返回空列表

    我正在尝试创建一个 Python 脚本来使用 BeautifulSoup 从 tcgplayer com 获取 Yugioh 卡的价格 当您在此网站上搜索卡片时 它会返回一页搜索结果 其中包含来自不同卖家的多个价格 我的目标是拉低所有这些价
  • mapViewDidLoad方法未加载

    目标c的新手 我正在使用ArcGIS作为地图部分 我的方法有问题mapViewDidLoad没有被调用 加载 这是代码的一部分 h file interface ViewController UIViewController
  • 从 SPARK 中的另一个 RDD 返回最大 N 值的 RDD

    我正在尝试过滤元组 RDD 以根据键值返回最大的 N 个元组 我需要返回格式为 RDD 所以RDD 4 a 12 e 2 u 49 y 6 p 过滤最大的 3 个键应该返回 RDD 6 p 12 e 49 y Doing a sortByK
  • C 3d 字符数组

    char monsternivel1 3 4 Rat Bat Spider Goblin Orc Drawf Dragon Lich Banshee Demon Hydra Giant Spider 它说 gt E Dungeon Craw
  • 从 JSON 输出中选择字段

    使用Python 我如何提取字段id到一个变量 基本上 我要改变这个 accountWide true criteria description some description id 7553 max 1 orderIndex 0 类似的
  • GORM:不可知地映射大文本字段数据库

    我有一个 Grails 应用程序 它将针对 SQL Server 或 Oracle 后端运行 我使用 GORM 作为 ORM 我想以支持两种数据库类型的方式映射大型文本字段 在我的 Grails 域类中 我有类似的内容 class Note
  • 如何将 python 模块从源安装到虚拟环境中

    据我了解 您可以使用 pip install e my module 从源安装模块 当我执行此操作时 pip show f my module grep 位置 给出 my module 作为位置 而不是我的虚拟环境的站点包 安装模块时我激活
  • Opencv检测不同时间拍摄的两张照片之间的变化

    我们有该商品的一张原始图片 照片 即雕塑 我们不时地为该物品拍摄新照片 照片始终与物品成 90 度相同角度拍摄 但 会有一些轻微的上下 左右移动 同一物体的不同长度 我们用线取 相机和在其前面移动的物体因此不时的速度 对象发生变化 因此最终
  • 从远程服务器拉取某个分支

    假设有人创建了一个分支xyz 如何拉动分支xyz从远程服务器 例如GitHub 并将其合并到现有分支中xyz在我的本地仓库中 答案是将分支推送到 Git给我错误 拒绝 并提到 非快进 但我收到错误 拒绝 以及有关 非快进 的信息 这是因为
  • 如何使用 Google Apps 脚本通过 for 循环将值添加到二维数组

    有人可以向我展示一些简单的示例 以使用 for 循环将值添加到二维数组吗 我完全错误的测试脚本如下 预期行为 整体值 0 0 0 整体值 0 1 1 整体值 0 2 2 整体值 1 0 0 整体值 1 1 1 整体值 1 2 2 funct
  • 使用 C#:如何使用 Newtonsoft.JSON 迭代嵌套 JSON?

    我正在提取大量项目的 JSON 数据 每个项目都有一组我想要抓取并放置在列表中的特定数据 以下是 JSON 数据中包含的 700 多个项目中的两个示例 我需要能够使用 Newtonsoft JSON 迭代 JSON 数据 并在 fieldN
  • 尝试将大 Excel 文件读入 DataTable 时出现 OutOfMemoryException

    我正在使用 SSIS 包清理 Xlsx 文件中的数据并将其加载到 SQL Server 表中 我还必须突出显示 Xlsx 文件中包含错误数据的单元格 为此我必须根据列名称和行 ID 我在数据电子表格中拥有 获取列和行索引 为此 我比较第一个
  • 数据库细化 - F 的最小覆盖(无关属性)

    模式 R A B C D E F FD F ABC gt D CD gt B BCF gt D CDF gt BE BCDF gt E 找到 Fc F 的最小覆盖 又名规范覆盖 这是我书中使用的方法 示例 abc gt xyz a 是冗余的
  • 无法在 Mac 上创建开发者证书

    这件事发生在一夜之间 昨天我能够处理我的 NET Core 应用程序 现在每次我尝试做一个dotnet run我在 cmd 行中收到以下错误 如您所见 我尝试运行建议的命令来创建开发人员证书 其中dotnet dev certs https
  • 如何在 Visual Basic 中使用 while 循环从 StreamReader 中读取数据?

    考虑 Dim line As String Using readFile As New StreamReader SalesUpdateFile While line readFile ReadLine IsNot Nothing 我是 V
  • 没有可行的从 std::function 到 bool 的转换

    C 11std function应该执行operator bool const 那么为什么 clang 告诉我没有可行的转换呢 include
  • R-向 PDF 添加页码

    我在向 PDF 添加页码时遇到问题 这是我插入页面 绘图的方法 pdf file pdfFilePath width 11 height 8 5 for grid newpage pushViewport viewport layout g
  • 从 Google 表格调用时 getOAuthToken 返回 null

    我正在研究一种方法 通过 oAuth 规范和 AWS API 网关调用来限制特定用户的某些 Google 表格 但我遇到了一个问题ScriptApp getOAuthToken 功能 当我使用 Google Apps 脚本调试器运行代码时