首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >参数类型与UrlFetchApp负载不匹配

参数类型与UrlFetchApp负载不匹配
EN

Stack Overflow用户
提问于 2020-04-21 00:14:17
回答 1查看 98关注 0票数 1

当我试图使用Google脚本执行POST请求时,我收到了错误:传递的参数类型不匹配:“字段”。

我尝试过在有效负载上添加JSON.stringify(requestBody),但这也不起作用。我哪里出问题了?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var fields = ["id","name","group_name"]

  var requestBody = {
    "project_id": "3259344",
    "fields": fields,
    "limit": "30"
} 

  var options =
      {
           'method'  : 'POST',
           'headers' : {
           'User-Id' : email,
           'Authorization' : 'Bearer '+ apiKey
           }, 
          'payload' : requestBody
      };


var response = UrlFetchApp.fetch("https://api.test.com/v2/json/get/keywords", options);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 00:36:55

我不确定您想要使用的API的详细规范。因此,从您问题中的错误消息来看,下面的3种修改模式如何?

模式1:

修改脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fields = ["id","name","group_name"];
var requestBody = {
  "project_id": "3259344",
  "fields": fields,
  "limit": "30"
};
var options = {
  'method'  : 'POST',
  'headers' : {
    'User-Id' : email,
    'Authorization' : 'Bearer ' + apiKey
  }, 
  'payload' : JSON.stringify(requestBody),  // Modified
  'contentType': 'application/json'  // Added
};
var response = UrlFetchApp.fetch("https://api.test.com/v2/json/get/keywords", options);

模式2:

修改脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fields = "id,name,group_name";  // Modified
var requestBody = {
  "project_id": "3259344",
  "fields": fields,
  "limit": "30"
};
var options = {
  'method'  : 'POST',
  'headers' : {
    'User-Id' : email,
    'Authorization' : 'Bearer ' + apiKey
  }, 
  'payload' : JSON.stringify(requestBody),  // Modified
  'contentType': 'application/json'  // Added
};
var response = UrlFetchApp.fetch("https://api.test.com/v2/json/get/keywords", options);

模式3:

修改脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fields = "id,name,group_name";  // Modified
var requestBody = {
  "project_id": "3259344",
  "fields": fields,
  "limit": "30"
};
var options = {
  'method'  : 'POST',
  'headers' : {
    'User-Id' : email,
    'Authorization' : 'Bearer ' + apiKey
  }, 
  'payload' : requestBody
};
var response = UrlFetchApp.fetch("https://api.test.com/v2/json/get/keywords", options);

参考资料:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61338865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文