1

我正在尝试构建一个脚本以在 Google 表格中运行,以自动将我的银行账户余额提取到表格中。我正在使用 Plaid 获取帐户信息。我已经使用 UrlFetchApp 提取了信息。我一直试图弄清楚如何解析返回的文本以获取可用的余额信息。

我尝试使用旧的 XML 方法来解析它,但坦率地说,我认为我什至还没有接近解决这个问题。

function myFunction() {
  //HTTP Request
  var avail_balance = [];
  var data = {
    "client_id": "5bf874c39bb5dc0012b1be13",
    "secret" : "Redacted",
    "access_token" : "Redacted"
  };
  var payload = JSON.stringify(data);
  var options = {
    "method" : "POST",
    "contentType" : "application/json",
    "payload" : payload
  };
  var url = "https://development.plaid.com/accounts/balance/get";
  var response = UrlFetchApp.fetch(url, options);

  //Parse HTML

 //return avail_balance
 return avail_balance
}
4

2 回答 2

3

Plaid API 的文档在 API 协议下说明了这一点

Plaid API 使用 POST 请求进行通信,使用 HTTP 响应代码来指示状态和错误。所有响应均采用标准 JSON

格子 API 文档

您应该只使用 XmlService 来解析 XML,而不是 JSON。JSON 是对象的标准表示法,不仅在 JavaScript 中,在许多其他语言中也是如此,因此名称有点混乱。

调用 UrlFetchApp.fetch() 将返回一个 HttpResponse 对象,然后您可以将其解析为 JSON(如果实际上它是一个有效的 JSON - 如果不是,请尝试首先通过 Logger.log(response) 记录响应)

var responseString = resonse.getContentText();
var data = JSON.parse(responseString);

UrlFetchApp 方法

于 2019-10-02T18:49:09.093 回答
1

检查了 Plaid 服务的文档,似乎响应负载的格式为 JSON。所以我不确定你为什么需要将响应解析为 HTML。

请尝试JSON.parse()在响应上使用,然后引用文档中详述的适当属性。

于 2019-10-02T18:45:20.690 回答