Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复获取';httpStatus 400-请求错误';?_Javascript_Api_Post_Google Apps Script_Qualtrics - Fatal编程技术网

Javascript 如何修复获取';httpStatus 400-请求错误';?

Javascript 如何修复获取';httpStatus 400-请求错误';?,javascript,api,post,google-apps-script,qualtrics,Javascript,Api,Post,Google Apps Script,Qualtrics,我的目标是导出我使用谷歌应用程序脚本对Qualtrics进行的调查的回复。我试图让我的代码工作在一个POST API中,我让代码ping,但不管它是ping,它都会返回一个“httpStatus:400错误请求”错误 我对谷歌应用程序脚本和API都是新手,但我理解其中的要点。我使用Postman获得了一个javaScript Jquery ajax代码,并使其与GAS一起工作。让我困惑的是,当我使用与GETAPI相同的代码并手动输入ID(使用POSTMAN提供给我)时,它会发出完美的ping。当

我的目标是导出我使用谷歌应用程序脚本对Qualtrics进行的调查的回复。我试图让我的代码工作在一个POST API中,我让代码ping,但不管它是ping,它都会返回一个“httpStatus:400错误请求”错误

我对谷歌应用程序脚本和API都是新手,但我理解其中的要点。我使用Postman获得了一个javaScript Jquery ajax代码,并使其与GAS一起工作。让我困惑的是,当我使用与GETAPI相同的代码并手动输入ID(使用POSTMAN提供给我)时,它会发出完美的ping。当通过邮递员运行它时,它显示所有的事情都在进行中,所以不确定我在邮递电话中做错了什么

var option = {
  async: true,
  crossDomain: true,
  //url:"https://ousurvey.ca1.qualtrics.com/API/v3/surveys/SV_8dK8AKUFyAH8qyN//export-responses/",
  method: "POST",
  "headers": {
    "X-API-TOKEN": "**************************",
    "Content-Type": "application/json",
    "cache-control": "no-cache",
    "Postman-Token": "7a148b75-fa03-4f45-9782-08791c2f1c35"
  },
  processData: false,
  data : '{"format": "csv}',
  muteHttpExceptions: true //muted to check Logger
   };
 var qUrl='https://ousurvey.ca1.qualtrics.com/API/v3/surveys/SV_8dK8AKUFyAH8qyN/export-responses/'
 var getSurvey = UrlFetchApp.fetch(qUrl, option);
我需要让帖子工作,以获得JSON以获得调查ID,这样我就可以使用该ID和get API将信息下载到google drive,并将信息转换为google文档

以下是日志中的当前错误:

{"meta":{"httpStatus":"400 - Bad Request","error":{"errorMessage":"Error decoding json body:
 com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input\n at 
[Source: akka.util.ByteIterator$ByteArrayIterator$$anon$1@71f9c2bb; line: 1, column: 0]"}}}
将“内容类型”更改为“内容类型”后,出现以下错误:

""meta":{"requestId":"62b3a313-b1ba-4939-83b7-ee73e65b4e3e","httpStatus":"400
 - Bad Request","error":{"errorCode":"QVAL_1","errorMessage":"Json type request body is expected.""
  • 您希望使用API
从你的问题和回复评论中,我可以理解上述内容。当我看到您提供的文档时,我发现示例curl命令如下

curl -X POST \
-H 'X-API-TOKEN: yourapitokenhere' \
-H 'Content-Type: application/json' \
-d '{"format": "csv"}' \
'https://yourdatacenterid.qualtrics.com/API/v3/surveys/SV_012345678912345/export-responses'
我将此示例转换为GoogleApps脚本的脚本。示例脚本如下所示

curl -X POST \
-H 'X-API-TOKEN: yourapitokenhere' \
-H 'Content-Type: application/json' \
-d '{"format": "csv"}' \
'https://yourdatacenterid.qualtrics.com/API/v3/surveys/SV_012345678912345/export-responses'
示例脚本: 注:
  • 上面的示例脚本与示例curl命令的请求相同。但是,如果在运行脚本时出现错误,请确认
    X-API-TOKEN
    的值、URL和其他需要考虑您的情况的参数
参考资料:
      • 您希望使用API
      从你的问题和回复评论中,我可以理解上述内容。当我看到您提供的文档时,我发现示例curl命令如下

      curl -X POST \
      -H 'X-API-TOKEN: yourapitokenhere' \
      -H 'Content-Type: application/json' \
      -d '{"format": "csv"}' \
      'https://yourdatacenterid.qualtrics.com/API/v3/surveys/SV_012345678912345/export-responses'
      
      我将此示例转换为GoogleApps脚本的脚本。示例脚本如下所示

      curl -X POST \
      -H 'X-API-TOKEN: yourapitokenhere' \
      -H 'Content-Type: application/json' \
      -d '{"format": "csv"}' \
      'https://yourdatacenterid.qualtrics.com/API/v3/surveys/SV_012345678912345/export-responses'
      
      示例脚本: 注:
      • 上面的示例脚本与示例curl命令的请求相同。但是,如果在运行脚本时出现错误,请确认
        X-API-TOKEN
        的值、URL和其他需要考虑您的情况的参数
      参考资料:

      您的数据可能只是一个对象,即,
      {“格式”:“csv”}
      ,而不是一个字符串。运气不好,我尝试过这样做,但仍然ping了一个错误请求。您是否有错误消息/代码?类似于“预期但得到”这样的内容。我用收到的错误消息更新了帖子,并更改了数据的格式。你能提供API的文档吗?我认为这些信息可能对你有用。但是,如果这没有用,我很抱歉。您的数据可能只是一个对象,即
      {“format”:“csv”}
      ,而不是字符串。运气不好,我尝试过这样做,但仍然ping了一个错误请求。您有错误消息/代码吗?类似于“预期但得到”这样的内容。我用收到的错误消息更新了帖子,并更改了数据的格式。你能提供API的文档吗?我认为这些信息可能对你有用。但如果这没有用,我道歉。你是一个祝福。谢谢。@nguyenJEN谢谢您的回复。我很高兴你的问题得到了解决。你是一个幸运的人。谢谢。@nguyenJEN谢谢您的回复。我很高兴你的问题解决了。