Apps脚本将参数传递给cUrl

时间:2016-08-14 22:42:54

标签: javascript curl google-apps-script

我对Google Apps Script很新。我正在尝试创建一个脚本来从公共API中提取数据。我需要传递参数,但无法弄清楚如何在Apps Script

中执行此操作

API文档表明可以像这样访问信息:

curl -H "Content-Type: application/json" -X GET 
--header "X-PW-AccessToken:<TOKEN>" \
--header "X-PW-Application:developer_api" \
--header "X-PW-UserEmail:<USER_EMAIL_ADDRESS>" \
-d '{"name":"My Lead","email":{"email":"mylead@gmail.test","category":"work"}}'

我在Apps Script中设置了此功能:

function myFunction() {
  var url = "https://api.prosperworks.com/developer_api/v1/leads/search";
  var fetchParameters = {};
  fetchParameters.method = "post";
  fetchParameters.contentType = "application/json";
  fetchParameters.headers = {
       "X-PW-AccessToken": <TOKEN>,
       "X-PW-Application": "developer_api",
       "X-PW-UserEmail": <USER_EMAIL_ADDRESS>
  };
  fetchParameters.muteHttpExceptions = true;
  fetchParameters.payload = {"name":"My Lead","email":{"email":"mylead@gmail.test","category":"work"}};

  var response = UrlFetchApp.fetch(url, fetchParameters);
  var dataAll = JSON.parse(response.getContentText());
}

我添加了fetchParameters.payload,因为这似乎是如何传递值,但是在解析JSON时出现此错误:

Execution failed: SyntaxError: Unexpected token: <

如果我评论fetchParameters.payload它可以成功运行,但不会考虑任何参数(显然)。

我尝试过:fetchParameters.dfetchParameters.data和其他许多人,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:1)

API文档显示:

-X GET

您的代码使用:

fetchParameters.method = "post";

尝试将其更改为

fetchParameters.method = "get";