如何使用我的应用程序脚本代码进行CURL调用



示例代码是这样给我的。

示例调用

curl --location --request POST 'https://authentication.carfax.ca/oauth/token' 
--header 'Content-Type: application/x-www-form-urlencoded' 
--header 'Cookie: did=s%3Av0%3Ad4c8e610-067c-11ec-84ad-
83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg; 
did_compat=s%3Av0%3Ad4c8e610-067c-11ec-84ad-
83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg' 
--data-urlencode 'audience=https://api.carfax.ca' 
--data-urlencode 'grant_type=client_credentials' 
--data-urlencode 'client_id=PROVIDEDBYINTEGRATIONSUPPORT' 
--data-urlencode 'client_secret=PROVIDEDBYINTEGRATIONSUPPORT'

我的应用程序脚本代码如下所示,其中client_id被更改为我的实际客户端id,client_secret也被更新。我无法使此代码工作。有人能建议我如何重写代码吗?

function myFunction() {
var url = 'https://authentication.carfax.ca/oauth/token';
var headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Cookie': 'did=s%3Av0%3Ad4c8e610-067c-11ec-84ad-83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg;did_compat=s%3Av0%3Ad4c8e610-067c-11ec-84ad-83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg',
"data-urlencode": {
'audience': 'https://api.carfax.ca',
'grant_type': 'client_credentials',
'client_id': 'xT18269vTVFk6Cy2QUjSyzVxs8BZcN6j',
'client_secret': '1Fz57F-lUuTZODoICC68ZUqSQoL6MCx4xR8PP9Bqfh6qGJThCC59uRZkJQF75HOK'
}
};
var response = UrlFetchApp.fetch(url, headers);
var text = response.getResponseCode();
Logger.log(headers);
}

我相信您的目标如下。

  • 您想要将以下curl命令转换为Google Apps脚本。

    curl --location --request POST 'https://authentication.carfax.ca/oauth/token' 
    --header 'Content-Type: application/x-www-form-urlencoded' 
    --header 'Cookie: did=s%3Av0%3Ad4c8e610-067c-11ec-84ad-
    83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg; 
    did_compat=s%3Av0%3Ad4c8e610-067c-11ec-84ad-
    83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg' 
    --data-urlencode 'audience=https://api.carfax.ca' 
    --data-urlencode 'grant_type=client_credentials' 
    --data-urlencode 'client_id=PROVIDEDBYINTEGRATIONSUPPORT' 
    --data-urlencode 'client_secret=PROVIDEDBYINTEGRATIONSUPPORT'
    

在这种情况下,请修改如下。

发件人:

var headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Cookie': 'did=s%3Av0%3Ad4c8e610-067c-11ec-84ad-83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg;did_compat=s%3Av0%3Ad4c8e610-067c-11ec-84ad-83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg',
"data-urlencode": {
'audience': 'https://api.carfax.ca',
'grant_type': 'client_credentials',
'client_id': 'xT18269vTVFk6Cy2QUjSyzVxs8BZcN6j',
'client_secret': '1Fz57F-lUuTZODoICC68ZUqSQoL6MCx4xR8PP9Bqfh6qGJThCC59uRZkJQF75HOK'
}
};
var response = UrlFetchApp.fetch(url, headers);

收件人:

var options = {
"headers": { 'Cookie': 'did=s%3Av0%3Ad4c8e610-067c-11ec-84ad-83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg;did_compat=s%3Av0%3Ad4c8e610-067c-11ec-84ad-83a048983dd7.IfTEs0EGLJ7r5kYxspPDGaSaw9fs2WPxYv5K%2FJv6Rpg' },
"payload": {
'audience': 'https://api.carfax.ca',
'grant_type': 'client_credentials',
'client_id': 'xT18269vTVFk6Cy2QUjSyzVxs8BZcN6j',
'client_secret': '1Fz57F-lUuTZODoICC68ZUqSQoL6MCx4xR8PP9Bqfh6qGJThCC59uRZkJQF75HOK'
}
};
var response = UrlFetchApp.fetch(url, options);

注:

  • 在curl命令中,使用Cookie。在这种情况下,可能需要更新cookie。如果出现错误,请检查此项
  • 如果出现类似状态代码403的错误,我担心在这种情况下,谷歌方面可能无法访问此URL

参考:

  • fetch(url,params(

最新更新