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

标签 google-apps-script google-sheets spreadsheet

我对 Apps 脚本/Javascript 还很陌生。我有一些使用 API 导出的 JSON 数据。

以下是我执行此操作时得到的结果:console.log(jsonData);

JSON data sample

我正在尝试:

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

基本上应该是这样的:

Google Sheet output

但是我陷入了这一步,无法正确执行下一段代码...(如何转换为 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是您的展示示例数据,那么进行以下修改如何?

来自:

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

致:

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");

关于google-apps-script - Apps 脚本 - 将 JSON 正确导出到 Google Sheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73467721/

相关文章:

javascript - Google Apps 脚本返回 null

javascript - 使用 setDate 时日期对象与预期不符

javascript - 仅显示最后两行并隐藏其余行

google-apps-script - 在 searchFiles Google 脚本中使用变量

javascript - 按背景颜色计算行数失败

excel - 用数据填充电子表格的公式

google-apps-script - 如何使用 Google 电子邮件设置 API 和 OAuth2 for Apps 脚本库为 Google Apps 域中的用户设置电子邮件签名

java - 在谷歌表格中设置自定义列宽大小

google-sheets - 将 Google 工作表单元格文本值转换为浮点值

string - 从 R 中的数据框中删除所有字符串?