使用GitHub API创建要点

时间:2018-12-06 15:18:54

标签: javascript jquery github gist

我想使用GitHub API创建要点。我尝试了POST ajax请求:

var gist = {
    "description": "Avatars",
    "public": true,
    "files": {
        "check.txt": {
            "content": "Avatars list..."
        }
    }
};

$.ajax({
    url: 'https://api.github.com/gists',
    type: 'POST',
    dataType: 'json',
    data: JSON.stringify(gist),
    success: function(e) {
      console.log(e);
    },
    error: function(e) {
      console.error("Error!: ", e);
    }
});

但是我总是收到以下错误:

jquery-3.1.1.min.js:4 POST https://api.github.com/gists 401 (Unauthorized)

有人可以帮助我吗? 谢谢

2 个答案:

答案 0 :(得分:2)

要在Github上编辑内容时,需要授权您的请求。通过将用户名和密码添加到请求中或使用oauth令牌。

更多信息可在授权文档中找到:https://developer.github.com/v3/auth/

答案 1 :(得分:1)

由于我最近遇到了相同的问题,所以让我添加T.Todua要求的示例

如果要使用用户名和密码进行身份验证,请在$ .ajax请求中添加以下行:

crossDomain: true,
beforeSend: function (XHR) {
  XHR.setRequestHeader(
    'Authorization','Basic ' + btoa(Username + ':' + Password)
  );
},

但是,如果您为要点创建了访问令牌(请参阅Github help,并且不要忘记检查“要点”权限!),则添加以下几行

crossDomain: true,
headers: {
  'Authorization':'bearer ' + GitHubAccessToken
},

创建后,GitHubAccessToken将立即显示一次(并且仅显示一次!),因此请确保将其存储在安全的位置,因为每个知道此访问令牌的人都可以修改您的要旨(直到您再次将其撤销)。