通过谷歌脚本FetchUrlApp()发布RESTAPI cURL帖子

通过谷歌脚本FetchUrlApp()发布RESTAPI cURL帖子,curl,post,google-apps-script,parse-platform,Curl,Post,Google Apps Script,Parse Platform,我正试图通过谷歌脚本cURL发布到解析平台。尝试了不同的组合,但始终从服务器获得响应400。有人知道代码中的问题在哪里吗?提前谢谢大家 function myFunction() { var payload = JSON.stringify({ "score": 1337, "playerName": 'Sean Plott', "cheatMode": false }); var headers = { "X-Parse-Application-Id":

我正试图通过谷歌脚本
cURL
发布到解析平台。尝试了不同的组合,但始终从服务器获得响应
400
。有人知道代码中的问题在哪里吗?提前谢谢大家

function myFunction() {
  var payload = JSON.stringify({
    "score": 1337,
    "playerName": 'Sean Plott',
    "cheatMode": false
});

var headers = {
    "X-Parse-Application-Id": 'myid',
    "X-Parse-Master-Key": 'mykey',
    "X-Parse-Url": 'https://parseapi.back4app.com/',
};

var options = {
    'method': 'post',
    'payload': payload,
    'Content-Type': 'application/json',
    //muteHttpExceptions : true,
    'headers': headers
};
var test = UrlFetchApp.fetch('https://parseapi.back4app.com/classes/GameScore', options);
Logger.log(test);

看起来您正在正确使用
UrlFetchApp.fetch()
API

注意,400个错误意味着

由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或将不会处理该请求

换句话说,您的请求可能格式不正确。一个可能的原因是您使用了不正确的标题或没有为请求提供足够的信息


我没有使用解析平台的经验,但它看起来需要基于的
X-Parse-REST-API-Key
头。

在选项对象中将
内容类型
替换为
内容类型

尝试在JSON对象中使用双引号(“)而不是单引号。这有帮助吗?在点击API之前,Google应用程序脚本应该将JavaScript对象序列化为有效的JSON