集成 Plaid 和 Google Apps 脚本
Integrating Plaid and Google Apps Script
我想编写一个 Google Apps 脚本,可以从我的银行提取交易数据并将其添加到 google 电子表格。我认为 Plaid 可能是一个不错的选择,但我无法弄清楚如何在 google 应用程序脚本中使用 Plaid API。 Plaid 支持 Node.js 而 Google Apps Script 使用 JavaScript 云脚本语言。
Google Apps 脚本允许您使用 external APIs but I believe Plaid makes you add a bank through Link。
有谁知道更好的方法吗?
谢谢!
这里是 Plaid 的创始人。实际上,我已经为我的一些个人项目做到了!我所做的是在 google 脚本中使用 quickstart apps to generate an access_token
(doc) then just send a request to /transactions/get
(doc) 之一。所以几乎整个脚本只会发送一个 HTTP 请求,然后解析数据并将格式设置为您认为合适的 google 工作表。
我 运行 遇到的一个问题是 Google 工作表实际上通过他们的系统代理您的请求并大量缓存和速率限制这些请求。我认为这是对过去的回应,在过去,您实际上可以通过 Sheets 使用 Google 的基础设施构建僵尸网络和 DOS 站点。
希望对您有所帮助!
bkper.com 的联合创始人。
我们使用 Plaid 提供直接 bank connections to users, offering a Google Apps Script library 以在安全的 OAuth2 层下轻松允许访问数据。
您可以使用它来访问您的数据,而无需担心实现 Link 连接和令牌管理:-)
这里是 Plaid 的前员工。下面是获取项目第一个帐户余额的示例。在此示例中每 12 小时检索一次,但可以删除该逻辑。
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'));
}
我想编写一个 Google Apps 脚本,可以从我的银行提取交易数据并将其添加到 google 电子表格。我认为 Plaid 可能是一个不错的选择,但我无法弄清楚如何在 google 应用程序脚本中使用 Plaid API。 Plaid 支持 Node.js 而 Google Apps Script 使用 JavaScript 云脚本语言。
Google Apps 脚本允许您使用 external APIs but I believe Plaid makes you add a bank through Link。
有谁知道更好的方法吗?
谢谢!
这里是 Plaid 的创始人。实际上,我已经为我的一些个人项目做到了!我所做的是在 google 脚本中使用 quickstart apps to generate an access_token
(doc) then just send a request to /transactions/get
(doc) 之一。所以几乎整个脚本只会发送一个 HTTP 请求,然后解析数据并将格式设置为您认为合适的 google 工作表。
我 运行 遇到的一个问题是 Google 工作表实际上通过他们的系统代理您的请求并大量缓存和速率限制这些请求。我认为这是对过去的回应,在过去,您实际上可以通过 Sheets 使用 Google 的基础设施构建僵尸网络和 DOS 站点。
希望对您有所帮助!
bkper.com 的联合创始人。
我们使用 Plaid 提供直接 bank connections to users, offering a Google Apps Script library 以在安全的 OAuth2 层下轻松允许访问数据。
您可以使用它来访问您的数据,而无需担心实现 Link 连接和令牌管理:-)
这里是 Plaid 的前员工。下面是获取项目第一个帐户余额的示例。在此示例中每 12 小时检索一次,但可以删除该逻辑。
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'));
}