【问题标题】:Google App Script - PayPal API - Get Access Token谷歌应用脚​​本 - PayPal API - 获取访问令牌
【发布时间】:2018-07-24 04:53:33
【问题描述】:

我有这个函数应该给我 cURL 中的访问令牌

curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
    -H "Accept: application/json" \
    -H "Accept-Language: en_US" \
    -u "client_id:secret" \
    -d "grant_type=client_credentials"

来源:https://developer.paypal.com/docs/api/overview/#get-an-access-token

但是当我尝试在谷歌应用程序脚本中运行该函数(应该是相同的)时,错误总是:“无效令牌”。我做错了什么?

 function lol(){
   var request = UrlFetchApp.fetch("https://api.sandbox.paypal.com/v1/oauth2/token", {
     "Accept": "application/json",
     "Accept-Language": "en_US",
     "CLIENT_ID":"SECRET",
     "grant_type":"application/x-www-form-urlencoded"
   })
   Logger.log(request.getContentText());
 }

CLIENT_ID 和 SECRET 是个人的,从我的 PayPal 帐户复制而来。

【问题讨论】:

  • 一方面,您需要明确指定您正在发出 POST 请求。 var information = {"client_id":"SECRET"}; var options = {'method':'post','payload':information}; UrlFetchApp.fetch(url,options);link to Documentation

标签: google-apps-script paypal-sandbox


【解决方案1】:

这个修改怎么样?

修改点:

  • 在 UrlFetchApp,正如 Sandy Good 所说,您需要明确指定方法。在您的情况下,它是“POST”。
  • 在 UrlFetchApp 中,默认的 Content-Typeapplication/x-www-form-urlencoded
  • curl 命令的选项-u 是基本授权。
  • curl 命令的选项-H 是标头。
  • 在 PayPal 的 curl sample 上,grant_typeclient_credentials

反映以上几点的脚本如下。

修改后的脚本:

function myFunction(){
  var client_id = "client_id"; // Please input your client_id
  var secret = "secret"; // Please input your client secret

  var options = {
    method: "post",
    headers : {
      "Authorization" : " Basic " + Utilities.base64Encode(client_id + ":" + secret),
      "Accept": "application/json",
      "Accept-Language": "en_US"
    },
    payload: {"grant_type": "client_credentials"}
  };
  var request = UrlFetchApp.fetch("https://api.sandbox.paypal.com/v1/oauth2/token", options);
  Logger.log(request.getContentText())
}

如果这对你没有用,我很抱歉。

【讨论】:

  • 非常感谢您的回答。它正在工作:)
猜你喜欢
  • 2017-11-13
  • 2013-07-20
  • 1970-01-01
  • 2014-10-17
  • 2016-04-19
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
相关资源
最近更新 更多