如何使用 GitHub API?

Dos*_*nas 1 github-api

当它告诉我使用时,我不确定这意味着什么:

GET /repos/:owner/:repo/commits/:sha

如何使用该 API 调用来检索我正在查找的信息?

nul*_*ken 6

GET /repos/:owner/:repo/commits/:sha

  • GET是用于调用此 API 端点的 HTTP 方法。

  • :owner是用户或组织的名称(例如,是用户octocat的名称)。

  • :repo是所选用户或组织拥有的存储库的名称(例如,octocat用户共享Spoon-Knife存储库)

  • :sha是Git 对象的40 字节长唯一标识符

  • 您必须在调用前添加根端点-> https://api.github.com

考虑到这一点,为了表明

  • 提交bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f
  • 在存储库中的勺子刀
  • 属于用户octocat

可以向以下 url发出GET Http 调用

https://api.github.com/repos/octocat/Spoon-Knife/commits/bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f

例如,使用以下curl命令...

$ curl https://api.github.com/repos/octocat/Spoon-Knife/commits/bb4cc8d3b2e14b3
af5df699876dd4ff3acd00b7f
Run Code Online (Sandbox Code Playgroud)

...将返回以下 Json 负载

{
  "sha": "bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f",
  "commit": {
    "author": {
      "name": "The Octocat",
      "email": "octocat@nowhere.com",
      "date": "2014-02-04T22:38:36Z"
    },
    "committer": {
      "name": "The Octocat",
      "email": "octocat@nowhere.com",
      "date": "2014-02-12T23:18:55Z"
    },
    "message": "Create styles.css and updated README",

...[snipped for brevity]...

      "patch": "@@ -0,0 +1,17 @@\n+* {\n+  margin:0px;\n+  padding:0px;\n+}\n+\n+#octocat {\n+  display: block;\n+  width:384px;\n+  margin: 50px auto;\n+}\n+\n+p {\n+  display: block;\n+  width: 400px;\n+  margin: 50px auto;\n+  font: 30px Monaco,\"Courier New\",\"DejaVu Sans Mono\",\"Bitstream Vera Sans Mono\",monospace;\n+}"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

更新

正如@matsjoyce正确指出的那样,许多库抽象了这种低级操作并公开了更加用户友好的界面。其中大部分都列在https://developer.github.com/libraries/