如何通过UrlFetchApp从Stripe API获取“余额交易”

时间:2020-06-12 07:00:33

标签: google-apps-script urlfetch stripe-api

我正在尝试使用Google Apps脚本应用从Stripe API“余额交易对象”中获取交易详细信息。我研究了另一个问题来获取代码:

How to integrate Stripe payments with Google Apps Script

我已经阅读了以下Strip文档:

https://stripe.com/docs/api/balance_transactions

我的代码是:

function callStripe() {
  var url = "https://api.stripe.com/v1/balance_transactions";

  var params = {
    method: "GET",
    headers: {Authorization: "Basic " + Utilities.base64Encode("sk_test_XXX:")},
    payload: {id: "txn_1GryACFHk3f0sLjYo9FDDSM1", source: "ch_1GryABFHk3f0sLjY88wmWPFy"}
  };
  var res = UrlFetchApp.fetch(url, params);
  Logger.log(res.getContentText())
}

运行该函数时,出现以下错误:

异常:https://api.stripe.com的请求失败,返回了代码404。服务器响应被截断:{“ error”:{“ message”:“无法识别的请求URL(POST:/ v1 / balance_transactions)。请参阅{{3} }或我们可以在http ...上提供帮助(使用mutantHttpExceptions选项检查完整响应)(第59行,文件“ Stripe”)

第59行指的是var res = UrlFetchApp.fetch(url, params);

1 个答案:

答案 0 :(得分:1)

问题

Stripe API请求返回以下错误消息和symfony/symfony:4.3.* HTTP代码:

“无法识别的请求URL(POST:/ v1 / balance_transactions)”

解决方案

从高级404方法选项中删除payload参数。 GET请求不能具有正文(fetch()参数表示的正文),但是payload假定如果提供了有效负载,则开发人员实际上会尝试发出POST请求并相应地更改方法。

参考

  1. 条纹API reference
  2. GET方法reference
  3. POST方法reference
  4. UrlFetchApp方法reference
相关问题