我想编写一个 Google Apps 脚本,可以从我的银行提取交易数据并将其添加到 Google 电子表格中。我认为 Plaid 可能是一个不错的选择,但我无法弄清楚如何在 google apps 脚本中使用 Plaid API。 Plaid 支持 Node.js,而 Google Apps Script 使用 JavaScript 云脚本语言。
Google Apps 脚本确实允许您使用 外部 API,但我相信 Plaid 可以让您通过 Link 添加银行。
有人知道更好的方法吗?
谢谢!
格纹创始人在这里。事实上,我已经为我的一些个人项目做到了这一点!我所做的是使用其中一个 quickstart 应用程序 生成
access_token
(doc),然后只需在 google 脚本中向 /transactions/get
(doc) 发送请求。因此,几乎整个脚本只会发送一个 HTTP 请求,然后解析数据并按照您认为合适的方式格式化到 google 表格中。
我遇到的一个问题是 Google Sheets 实际上通过他们的系统代理你的请求,并大量缓存和速率限制这些请求。我认为这是对过去的回应,在过去,您实际上可以通过表格使用 Google 的基础设施构建机器人网络并 DOS 网站。
希望有帮助!
bkper.com 联合创始人在这里。
我们使用 Plaid 向用户提供直接的银行连接,提供Google Apps 脚本库,以便在安全的 OAuth2 层下轻松访问数据。
您可以使用它来访问您的数据,而无需担心实现链接连接和令牌管理:-)
function getBalance() {
var cache = CacheService.getScriptCache();
var lastUpdated = cache.get('lastUpdated');
// update every 12 hours
if (lastUpdated == null || Date.now() - Date.parse(lastUpdated) > 1000 * 60 * 60 * 12) {
var payload = {
"client_id": "your_client_id",
"secret": "your_secret",
"access_token": "relevant_access_token",
"options": {
"account_ids": ["account_id1", "account_id2"]
}
};
var res = UrlFetchApp.fetch("https://production.plaid.com/accounts/balance/get", {'method': 'post', 'contentType': 'application/json', 'payload': JSON.stringify(payload)});
var obj = JSON.parse(res.getContentText());
var ret = obj.accounts[0].balances.available;
cache.put('lastBalance', String(ret));
cache.put('lastUpdated', new Date().toISOString());
return ret;
}
return Number(cache.get('lastBalance'));
}