我想从另一个用我的gist令牌登录的网站更新Gist。我无法正常工作。我设法通过GET获得要点,但是用PATCH更新要点不起作用。

我认为身份验证没有问题,因为获取要点时,我的用户名和个人资料会正确显示。

JavaScript(JQuery):

$.ajax({
  url: 'https://api.github.com/gists/e3e0b182c09bf333593c',
  type: 'PATCH',
  beforeSend: function(xhr) {
    xhr.setRequestHeader("Authorization","token f32e-----MY-TOKEN-(GIST-ACCESS)-----6f44");
  }, data: {
    "description":"Edit gist",
    "files":{
      "annexation.json":{
        "content":"{\"updated content\":\"from Ajax\"}"
      }
    }
  }
}).done(function(response) {
  $('#write').text(JSON.stringify(response));
});


我不断收到错误400(错误请求)。

响应:

{
  "message": "Problems parsing JSON",
  "documentation_url": "https://developer.github.com/v3/gists/#edit-a-gist"
}


有人可以指出我做错了什么吗?非常感谢。

最佳答案

好吧,经过一番摆弄之后,这一直是问题所在:

数据应该是字符串,而不是对象。

data: '{"description":"Edit gist","files":{"annexation.json":{"content":"{\"updated content\":\"from Ajax\"}"}}'

08-19 03:28