Google Apps 脚本中的 PayPal REST API 错误 400

Posted

技术标签:

【中文标题】Google Apps 脚本中的 PayPal REST API 错误 400【英文标题】:PayPal REST API Error 400 in Google Apps Script 【发布时间】:2021-10-28 22:40:27 【问题描述】:

我正在尝试使用 PayPal API 为我的 OnlyFans 应用创建订阅。 我使用的主体与使用 Postman 时完全相同。 不知何故,我可以使用 Postman 获得响应,但尝试通过应用脚本执行此操作时遇到此错误。 我已经对任何尾随逗号等进行了三重四重检查。 似乎在格式中找不到任何错误。

为什么我收到错误代码 400? "name":"INVALID_REQUEST","message":"Request is not well-formed, syntactically incorrect...


function restCall ()
  
  var restEndpoint = "https://api-m.sandbox.paypal.com/v1/billing/subscriptions"
  
  var head = 
    "Authorization":"Bearer "+ TokenProperties.getAccessToken(),
    "Content-Type": "application/json",
    "PayPal-Request-Id": "1111-1111-1111-1111"
  

  var postPayload = 
  
    "plan_id": "P-09E19660L3543673CMETTBBA",
    "subscriber": 
      "name": 
        "given_name": "John",
        "surname": "Doe"
      ,
      "email_address": "sb-y9erz7310462@personal.example.com"
    ,
    "application_context": 
      "brand_name": "Test",
      "user_action": "SUBSCRIBE_NOW",
      "payment_method": 
        "payer_selected": "PAYPAL",
        "payee_preferred": "IMMEDIATE_PAYMENT_REQUIRED"
      ,
      "return_url": "https://example.com/returnUrl",
      "cancel_url": "https://example.com/cancelUrl"
    
  

  var params = 
    headers:  head,
    method: "POST",
    payload : postPayload
  

  var response = UrlFetchApp.fetch(restEndpoint, params); 

【问题讨论】:

【参考方案1】:

试试

  var options = 
    "contentType": "application/json",
    "method": "post",
    "headers": head,
    "payload": JSON.stringify(postPayload)
  ;

【讨论】:

有效。谢谢好心的先生。

以上是关于Google Apps 脚本中的 PayPal REST API 错误 400的主要内容,如果未能解决你的问题,请参考以下文章

使用Google Apps脚本删除Google表格中的行

Google Apps脚本中的Google Drive通知

使用 Apps 脚本对 Google 表格中的边框进行条件格式设置

如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?

如何保护 Google 电子表格中的 Apps 脚本代码?

使用 Google Apps 脚本折叠 Google 文档中的元素 - 这可能吗?