Apps 脚本 - 将 JSON 正确导出到 Google Sheet

2023-12-31

我对 Apps Script / Javascript 还很初学者。我有一些使用 API 导出的 JSON 数据。

以下是我这样做时得到的结果:console.log(jsonData);

我试图:

  • 将此 JSON 数据转换为 CSV。
  • 将数据放入活动电子表格的第一张表中

基本上它应该看起来像这样:

然而,我陷入了这一步,无法正确获取下一段代码......(如何转换为 CSV 并将数据放入 Google 表格中)。

以下是我的脚本的开头:

function myFunction() {
  
  var apiKey = "MyApiKEY";
  var now = new Date();
  var startDate = new Date(now.setDate(now.getDate()-2))
  var endDate = startDate

  var startDateFormatted = Utilities.formatDate(new Date(startDate), "GMT+7", "yyyy-MM-dd");
  var endDateFormatted = Utilities.formatDate(new Date(endDate), "GMT+7", "yyyy-MM-dd");

  var url = 'https://public-api.vendor.com/v1/clicks?start_date='+ startDateFormatted + '&end_date=' + endDateFormatted;
  var options1 = {
    "method": "get",
    "headers": {
      "accept": "application/json",
      "Authorization": apiKey
    }
   }
  var response = UrlFetchApp.fetch(url, options1);
  var jsonData = JSON.parse(response.getContentText());

  // console.log(jsonData);

}

如果您能帮助我将这些数据放入 Google 表格,我将不胜感激。 如果您认为有问题或不必要,也可以随意修改我的脚本开头的任何内容。


我相信您的目标如下。

  • 您想要将示例数据转换为 CSV 数据。
  • 您希望将示例数据放在活动电子表格的第一张纸上。

从您显示的样本数据来看,如果jsonData您显示的是示例数据,以下修改如何?

From:

var jsonData = JSON.parse(response.getContentText());

To:

var jsonData = JSON.parse(response.getContentText());

// I added the below script.
const headers = ["date_of_report", "vendor_name", "product_name", "category", "avg_cpc", "avg_position", "clicks", "conversions", "conversion_rate", "cost", "cpl", "channel", "country", "email", "vendor_id"];
const values = [headers, ...jsonData.data.map(e => headers.map(h => e[h] || ""))];
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
sheet.getRange(1, 1, values.length, values[0].length).setValues(values);

// If you want to retrieve the values as CSV data. You can use the following script.
const csv = values.map(r => r.join(",")).join("\n");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apps 脚本 - 将 JSON 正确导出到 Google Sheet 的相关文章

  • 如何在网站上重新创建电子表格或共享点数据表视图?

    我正在尝试将用户从共享点解决方案迁移到网站 SQL 后端 一件事是每个人似乎都喜欢共享点视图和数据表视图来编辑和管理信息 什么是最好的电子表格 访问数据编辑解决方案 是否有任何第三方 ASP NET MVC 小部件是很好的替代品 Teler
  • Google Apps 脚本自动生成的库文档

    我目前正在开发一个 Google Apps 脚本库 它基本上将电子表格视为数据库对象 目前 该库有两个相同的功能 例如 Opens and creates a query object for a spreadsheet with the
  • 通过脚本删除工作表

    我正在执行此代码 function deleteSheets var ss SpreadsheetApp getActiveSpreadsheet var sheets ss getSheets var transp ss getSheet
  • 正则表达式 - 使用正则表达式提取电子邮件文档的子字符串

    我正在尝试使用正则表达式提取电子邮件文档的子字符串 我正在在线测试正则表达式 它运行得很好 在线正则表达式测试器 https regex101 com r BbWBPk 1 我有一个功能可以检查 Google Apps 脚本上的正则表达式
  • 根据条件格式化货币

    Google Apps 脚本新手 但有一些 VBA 编码经验 我希望能够根据不同的单元格输入决定单元格的数字格式 eg Col A 客户名称 验证范围 B 栏 货币类型 英镑 美元 欧元 经过验证的列表 Col C 费用 100 用户免费类
  • 通过嵌入式 Google Sheet 上的按钮激活脚本

    我正在尝试嵌入一个 Google 电子表格 其中包含一个我希望用户能够激活的脚本 我不希望他们能够编辑页面上的任何内容 我想我可以这样做 共享工作表并设置编辑权限 限制在我想要共享的一张纸上进行编辑 图像位于单元格上方 所以我认为这会阻止人
  • 如何使用脚本格式化 Google 文档中的文本

    我想编写一个脚本来查找所有特定单词并格式化它们的颜色 我尝试了以下操作 但似乎不起作用 function ChangeColor var body DocumentApp getActiveDocument getBody var mywo
  • 删除或删除云端硬盘中的特定文件

    我有一个每天早上 5 点运行的脚本 它将特定文件 data xls 移至垃圾箱 但是 由于 DocsList 已停用 该脚本不再起作用 并且我在更新它时遇到了问题 我在这里看到了几个删除 setTrashed 脚本 但它们似乎都适用于一组文
  • 列出文件夹中的所有文件,包括子文件夹中的文件

    我正在尝试创建一个 Google Apps 脚本 该脚本将允许用户获取文件夹内的所有文件 包括连接到主文件夹的子文件夹内的文件 请注意 在我的代码中 我是提供folderid的人 这将是主文件夹 我已设法从文件夹中获取所有文件 但我还希望提
  • 如何过滤视图两列 OR 而不是 AND?

    在 Google 表格中 我想过滤查看结果 以便仅显示 D 列和 或 E 列中带有 x 的行 如果我过滤以显示其中包含 x 的列 则它将仅显示 D 列和 E 列中包含 x 的行 我如何让它做 和 或 操作 当我单击列中的过滤器按钮时 它只会
  • Google Apps 脚本中的地图对象支持

    Google Apps 脚本是否支持Map https developer mozilla org en docs Web JavaScript Reference Global Objects Map object 当我尝试使用它时 我得
  • 如何设置多个过滤器?

    我有一个关于将过滤器应用于多个值以使用 Google 脚本隐藏它们的问题 我有一个具有多种状态的项目跟踪器 例如 达到目标 已完成 已取消 已延迟 等 我想编写一个脚本来设置 状态 列的筛选器值 以便标记为 已完成 或 的行 已取消 被隐藏
  • 与 google 脚本一起使用时,币安搜索 API 返回 403

    我正在使用 binance API 来获取 USDT 的价格 该 API 适用于邮递员 但不适用于 google 脚本 function fetchCryptoPricesFromApi const data page 1 rows 10
  • 上传到google脚本中的特定文件夹

    所以我想制作一个表单 将文件 照片 视频上传到 Google Drive 中的特定文件夹 文件 照片 视频 但我不知道如何在 Google Apps 脚本中制作 我尝试了这样的操作 并在控制台中出现错误 无效的参数侦听器 所以这里有一个索引
  • Google 表单根据提交的值将文件上传到特定的新文件夹

    我的表单有 2 个字段 假设表单的名称是CV Drops Name 上传文件按钮 因此 默认情况下 当人们上传文件时 它将保存在我的 Google Drive 文件夹下CV Drops 我想要的是根据字段中的输入将文件放置在子文件夹中NAM
  • 如何使用 Google 文档附加脚本查看旧版本的代码

    我制作了一个可在 05 21 运行的附加组件 从那时到现在的某个时刻 它破裂了 旧代码不再出现在修订历史中 只能追溯到 05 22 我测试过version 1 并且它有效 这意味着它使用了正确的代码 我可以运行这个工作版本 但我不知道如何重
  • 如果单元格包含“否”,则隐藏 Google 表格中的行 - 多张表格

    我正在运行 1 个主电子表格 其中有 4 个产品特定电子表格从中提取信息 如果没有提取相关信息 较小的电子表格将在所有单元格中显示 否 我希望隐藏带有 否 的行 我已经把一些东西拼凑在一起了 这样的作品 但我无法让它在所有 4 张纸上都工作
  • Google 电子表格中的换行符未在 Google 图表中输出

    这段代码工作完美 除了一个小格式问题 我找不到简单的方法来修复 作为数据源的谷歌电子表格在列中有换行符 然而 在表中 它们看起来好像只是由空格格式化的 我尝试在数据表中使用allowHthml选项 将换行符转换为标签 但这会删除所有格式并使
  • Google Sheet:如何在 Google Sheet 公式中查找给定数据集(日期值对)的最高值以及日期?

    我在 Google Sheet 中有以下日期值对格式的数据 Date Value 1 8 2021 1301 85 1 11 2021 1303 9 1 12 2021 1320 05 1 13 2021 1291 55 1 14 2021
  • 如何(从 Google 电子表格)获取链接表单的 ID

    我有一个 Google 电子表格 其中链接了一个表单 并且存储了所有表单响应 我想要查找的是表单本身的 ID 我尝试过这个 但这不起作用 我正在表单链接到的电子表格中的脚本编辑器中运行以下代码 function getID var form

随机推荐

  • 在 Java 面板中包含命令提示符

    我有一个批处理文件 可以从 SVN 中检出代码并对其调用几个命令 这发生在 Windows 命令提示符上 我想从我的 java 程序调用这个批处理文件 并且命令提示符必须出现在我的应用程序窗口的控制台中 而不是作为单独的窗口 这样我就可以从
  • 如何在图像周围添加图像边框?

    有没有简单的方法可以在图像周围添加图像边框 原因是我想在图像周围创建阴影效果 图像作为缩略图加载 大小为 110x75 像素 我正在考虑创建阴影边框 但不知道如何将其添加到图像周围 有人知道方法吗 最好是PHP 您可以使用 GD 库或 Im
  • 我的应用程序中的 ic_launcher 图标错误

    我正在开发一个应用程序Honeycomb并遇到了这个非常奇怪的问题 我更改了应用程序图标 ic launcher 在每一个drawable文件夹并确保它在清单中正确 但我有一个标准 settings 启动器中的图标 在应用程序本身中是正确的
  • SVG 圆中 dasharray 属性的奇怪行为

    我正在尝试创建 SVG 圆的无限动画循环 我想创建 12 个相等的块 并将它们分开一些间隙 为了计算我使用的圆片的价值k系数见下表 所以我做了 0 25782 160 我的圆的直径 我得到 41 2512 它应该是我的棋子的值 之后我创建了
  • 获取正在运行的进程的维度

    我正在尝试抓取应用程序中特定 x y 位置的屏幕截图 有没有办法在 Process 对象中获取正在运行的应用程序 然后获取它的尺寸 就像是 Process processlist Process GetProcesses foreach P
  • 验证错误:值无效

    我的 p selectOneMenu 有问题 无论我做什么 我都无法让 JSF 调用 JPA 实体上的 setter JSF 验证失败并显示以下消息 形式 位置 验证错误 值无效 我在同一类型的其他几个类 即连接表类 上进行了此工作 但我一
  • 无法使用 Espresso 将文本添加到 webview 文本字段

    我正在尝试将文本添加到 Esprsso 中的文本字段 在 Web 视图内 但收到此错误 引起原因 java lang RuntimeException 评估错误评估 状态 13 值 message 无法设置选择结束 hasMessage 真
  • Java 中的动态绑定==后期绑定吗?

    在不同的来源中 我读到了有关该主题的不同内容 例如维基百科说 后期绑定经常与动态调度混淆 但两者之间存在显着差异 但几行之后 在 Java 编程中 流行使用术语 后期绑定 作为动态分派的同义词 具体来说 这是指与虚拟方法一起使用的 Java
  • 部分选择排序与合并排序查找“数组中最大的 k”

    我想知道我的思路是否正确 我正在准备面试 作为一名大学生 我遇到的问题之一是找到数组中最大的 K 个数字 我的第一个想法是只使用部分选择排序 例如 从第一个元素扫描数组 并为看到的最低元素及其索引保留两个变量 并与数组末尾的该索引交换 并继
  • 如何批量加载从其他来源生成的自定义 Avro 数据?

    Cloud Spanner 文档说 Spanner 可以导出 导入 Avro 格式 此路径是否也可用于批量摄取从其他来源生成的 Avro 数据 该文档似乎表明它只能导入同样由 Spanner 生成的 Avro 数据 我运行了一个快速导出作业
  • 当 MPMovieControlStyle = MPMovieControlStyleNone 时如何触摸/单击 MPMoviePlayerController 视图

    在我的一个应用程序中 我不想显示任何视频控制器 但我需要接触媒体播放器视图 我需要在触摸电影播放器 时执行一些其他操作 我怎样才能实现它 请帮忙 提前致谢 您可以随时附上UITapGestureRecognizer查看并处理水龙头 UITa
  • 如何在 PySpark 中读取 Avro 文件

    我正在使用 python 编写 Spark 作业 但是 我需要读取一大堆 avro 文件 This https github com apache spark blob master examples src main python avr
  • Firebase 托管 MIME 类型

    有没有人找到一种方法来设置使用 Firebase 托管托管文件时在 Content Type 标头中返回的 mime 类型 文档说他们支持规则文件中的某些标头 但不支持内容类型 无论如何我都将其绑定 但由于错误 hosting header
  • 将范围传递给 AngularJS 上的服务

    我对 AngularJS 还很陌生 我想将范围传递给服务 这样我就可以根据scope value 执行标签搜索 div div div div
  • 扩展和集群 JPA

    我正在 jboss7 上构建一个常规 Java EE 应用程序 该应用程序将在数据层中使用 JPA 我想让这个应用程序随着负载的增加而扩展 虽然如何扩展 Web 层非常清楚 创建更多机器并将它们放在负载均衡器后面 但扩展数据层却不太清楚 我
  • 识别一般保护故障 (x86) 上的故障地址

    我正在尝试为 x86 上的一般保护错误 GP 13 编写 ISR 我无法从 INTEL 文档中找出如何找出导致异常的错误地址 我知道对于页面错误异常 GP 14 cr2 寄存器保存错误地址 任何帮助表示赞赏 我在这里所做的所有参考资料均来自
  • 客户端和服务器需要使用相同的端口进行连接吗?

    我有一个使用java的服务器客户端程序 我尝试创建一个ServerSocket有端口和客户端Socket具有不同的端口 并且它们无法相互连接 客户端抛出ConnectException 当我将 Client 上的套接字更改为与 Server
  • PHP 中的重定向/返回检查

    我有一个用 PHP 运行的网站 并且有一个页面 例如 confirm php 我只想允许登陆的用户确认 php 来自我指定的页面 例如 register php 我可以知道是否可以实现这一点 问候 安迪 你不能依赖HTTP 引用因为用户可以
  • 如何检测 Xamarin 表单 TabbedPage 中是否触摸了选项卡

    如何检测 Xamarin 表单 TabbedPage 中是否触摸了选项卡 这与我想出如何检测的页面更改检测不同 原因如下 我正在尝试解决一个相当丑陋的选项卡式页面溢出用户界面 标签栏右侧显示的丑陋的滚动条 每当有 gt 5 个选项卡时 因此
  • Apps 脚本 - 将 JSON 正确导出到 Google Sheet

    我对 Apps Script Javascript 还很初学者 我有一些使用 API 导出的 JSON 数据 以下是我这样做时得到的结果 console log jsonData 我试图 将此 JSON 数据转换为 CSV 将数据放入活动电