我使用我公司的帐户在Eventbrite上组织了许多活动,现在我想使用Eventbrite API提取所有数据并将其加载到Google Sheets上的表中,而不使用Zapier之类的连接器。
我只需要活动数据和与会者数据。我可以自己在Google Sheets脚本编辑器中或通过使用IMPORTDATA((和IMPORT.JSON((等公式来完成这项工作吗?
如果我能把它放进谷歌表单,那么我就可以把数据的加载当作一个";数据转储";。然后使用另一张表,我可以创建公式来进行自动分析等等。
我面临的另一个挑战是,我不知道如何创建公式来提取这些数据。我认为我需要找到事件数据端点和与会者数据端点,但文档中不太清楚这些端点是什么。
将这些数据加载到Google Sheets中的最佳方法是什么?
Google Apps Script有一个名为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 |
Y | 2 |