Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Google apps script 谷歌应用程序脚本创建合流页面——结果状态代码为500_Google Apps Script_Confluence Rest Api - Fatal编程技术网

Google apps script 谷歌应用程序脚本创建合流页面——结果状态代码为500

Google apps script 谷歌应用程序脚本创建合流页面——结果状态代码为500,google-apps-script,confluence-rest-api,Google Apps Script,Confluence Rest Api,注意:我还在Atlassian论坛上发布了这个问题: 我正在接触更多的观众 我正在谷歌工作表中使用以下谷歌应用程序脚本代码创建合流页面: headers = {"Authorization" : "Basic " + Utilities.base64Encode(user + ':' + pswd), "Content-Type": "application/json"}; url = "https://confluence.asdf.com/rest/api/content/"; var

注意:我还在Atlassian论坛上发布了这个问题:

我正在接触更多的观众

我正在谷歌工作表中使用以下谷歌应用程序脚本代码创建合流页面:

headers = {"Authorization" : "Basic " + Utilities.base64Encode(user + ':' + 
pswd), "Content-Type": "application/json"};

url = "https://confluence.asdf.com/rest/api/content/";
var params = { 
  "method":"POST",
  "headers":headers,
  "muteHttpExceptions": false,
  "type":"page",
  "title":newTitle,
  "space":{"key":"DOC"},
  "body":{"storage":{"value": "<p>This is <br/> a new page</p>" }, 
  "representation":"storage"} 
};
var createResponse = UrlFetchApp.fetch(url, params); 
headers={“授权”:“基本”+实用程序.base64Encode(用户+':'+
pswd),“内容类型”:“应用程序/json”};
url=”https://confluence.asdf.com/rest/api/content/";
var params={
“方法”:“发布”,
“标题”:标题,
“muteHttpExceptions”:false,
“类型”:“页面”,
“标题”:新标题,
“空格”:{“key”:“DOC”},
“body”:{“storage”:{“value”:“这是一个新页面

”, “repression”:“storage”} }; var createResponse=UrlFetchApp.fetch(url,参数);
但是,当我提交请求时,我收到以下回复:

Request failed for https://confluence.atlas.asdf.com/rest/api/content/ 
returned code 500.
Truncated server response: {"statusCode":500,"
message":"<?> No content to map to Object due to end of 
input","reason":"Internal Server Error"} (use muteHttpExceptions option to 
examine full response)
请求的请求失败https://confluence.atlas.asdf.com/rest/api/content/ 
返回代码500。
截断的服务器响应:{“状态代码”:500,“
消息“:”由于结束,没有要映射到对象的内容
输入,“原因”:“内部服务器错误”}(使用muteHttpExceptions选项
检查完整响应)
我知道有一些卷曲样本,我已经看到了,但对我没有帮助。 我做错了什么

编辑:3月25日 @塔奈克 我按照您的建议修改了代码:

    headers = {"Authorization" : "Basic " + Utilities.base64Encode(user + ':' + pswd) };


    var payload = {
      "type": "page",
      "title": newTitle,
      "space": {"key": "DOC"},
      "body": {
        "storage": {
          "value": "<p>This is <br/> a new page</p>"
        },
        "representation": "storage"
      }
    };
    var params = { 
      "method": "POST",
      "headers": headers,
      "muteHttpExceptions": false,
      "payload": JSON.stringify(payload),
      "contentType": "application/json"
    };

    var createResponse = UrlFetchApp.fetch(url, params);        
headers={“授权”:“基本”+实用程序.base64Encode(用户+':'+pswd)};
var有效载荷={
“类型”:“页面”,
“标题”:新标题,
“空格”:{“key”:“DOC”},
“正文”:{
“储存”:{
“值”:“这是一个新页面”
},
“表示”:“存储”
}
};
var params={
“方法”:“发布”,
“标题”:标题,
“muteHttpExceptions”:false,
“有效载荷”:JSON.stringify(有效载荷),
“contentType”:“应用程序/json”
};
var createResponse=UrlFetchApp.fetch(url,参数);

我收到与以前相同的错误。

这次修改如何

修改脚本: 请按如下方式修改
参数
,然后重新测试。根据问题中的错误消息,请求主体被置于
有效负载的属性中

var payload = {
  "type": "page",
  "title": newTitle,
  "space": {"key": "DOC"},
  "body": {
    "storage": {
      "value": "<p>This is <br/> a new page</p>"
    },
    "representation": "storage"
  }
};
var params = { 
  "method": "POST",
  "headers": headers,
  "muteHttpExceptions": false,
  "payload": JSON.stringify(payload)
};
注:
  • 在我的环境中,我可以确认结果与官方样本脚本的结果相同。如果这不起作用,请再次确认
    有效负载
    标题
    的每个值

@Steve Murphy给您带来的不便,我深表歉意。我注意到
body
的属性存在问题。那么你能确认一下吗?我实现了你的更改,脚本运行正常。只有一个问题:当我创建页面时,它只在我的仪表板中可见,从那里我需要将它移动到所需空间中的正确子页面。(这不是最佳选择。)如何创建页面,使其位于空间中的子页面中?@Steve Murphy感谢您的回复。我很高兴你的第一个问题解决了。关于你的新问题,你能把它作为新问题发布吗?因为您最初的问题是删除脚本中的错误,而您的新问题与API规范有关。这和第一个不同。因此,请关闭此问题并将您的新问题作为新问题发布。当您发布新问题时,请包括详细信息。这样,它将对有相同问题的其他用户有用。如果您能合作解决您的问题,我很高兴。要将页面放置在所需位置,请将以下内容添加到有效负载:“祖先”:[{“id”:}],并感谢您的帮助。我真的很感激你花了这么多时间。!
headers = {"Authorization" : "Basic " + Utilities.base64Encode(user + ':' + pswd) };
var payload = {
  "type": "page",
  "title": newTitle,
  "space": {"key": "DOC"},
  "body": {
    "storage": {
      "value": "<p>This is <br/> a new page</p>",
      "representation": "storage" // Modified
    }
  }
};
var params = { 
  "method": "POST",
  "headers": headers,
  "muteHttpExceptions": false,
  "payload": JSON.stringify(payload),
  "contentType": "application/json"
};
var createResponse = UrlFetchApp.fetch(url, params);