【问题标题】:Create a gist using GitHub API使用 GitHub API 创建一个 gist
【发布时间】:2019-05-08 07:59:03
【问题描述】:

我想使用 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)

谁能帮帮我? 谢谢

【问题讨论】:

标签: javascript jquery github gist


【解决方案1】:

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

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

【讨论】:

  • 您能否提供示例或文档链接,其中显示了如何绑定usernamepass 参数
【解决方案2】:

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

如果您想使用用户名和密码进行身份验证,请将以下行添加到您的 $.ajax 请求中:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-09-11
    • 2010-12-31
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2021-05-28
    • 1970-01-01
    相关资源
    最近更新 更多