首页 > 解决方案 > 如何使用 Eventbrite 的 API 将我的所有活动数据、与会者等加载到 Google 表格中?

问题描述

我使用我公司的帐户在 Eventbrite 上组织了许多活动,现在我想使用Eventbrite API来提取所有数据并将其加载到 Google 表格上的表格中,而不使用像 Zapier 这样的连接器。

我只需要事件数据和与会者数据。我可以在 Google 表格脚本编辑器中自己执行此操作,还是使用 IMPORTDATA() 和 IMPORT.JSON() 等公式来执行此操作?

如果我可以将它放入 Google 表格,那么我可以将数据加载视为“数据转储”。然后使用另一张表,我可以创建公式来进行自动分析等等。

我面临的另一个挑战是我不知道如何创建公式来提取这些数据。我相信我需要找到事件数据端点和与会者数据端点,但是文档中的这些内容并不是很清楚。

将这些数据加载到 Google 表格中的最佳方法是什么?

标签: databaseapigoogle-sheetsetleventbrite

解决方案


Google Apps 脚本有一项名为UrlFetchApp的服务,可让您向外部 API 发出请求。

调用 JSON API 如下所示:

function getFromAPI(parameter, accessToken) {
  const url = `https://my.example.com/api?parameter=${encodeURIComponent(parameter)}`
  const response = UrlFetchApp.fetch(url, {
    headers: {
      'Authorization': `Brearer ${accessToken}`
    }
  })

  const result = JSON.parse(response.getContentText())
  return result.items.map(item => [item.name, item.value])
}

在这个例子中,它会被调用类似=GETFROMAPI('parameter-value', 'access-token').

此示例不适用于您的 API,因为它假定的结构几乎肯定不会相同。在此示例中,答案可能类似于:

{
  "items": [
    { "id": "xxx", "name": "X", "value": 32},
    { "id": "yyy", "name": "Y", "value": 2}
  ]
}

使用此结构和此代码,结果将是 2x2 数据:

(姓名) (价值)
X 32
是的 2

请注意,您也可以创建一个函数并从编辑器中执行它。在其中,使用SpreadsheetApp手动插入响应。

此外,如果您对 Google Apps 脚本有任何疑问,请使用google-apps-script 标签

参考


推荐阅读