如何使用GitHub API?

时间:2014-10-04 14:04:33

标签: github-api

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

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

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

1 个答案:

答案 0 :(得分:4)

  

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

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

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

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

  • :sha是一个40字节长的 unique identifier 的Git对象

  • 您必须先使用 root endpoint - >进行呼叫。 https://api.github.com

考虑到这一点,为了显示

  • 提交 bb4cc8d3b2e14b3af5df699876dd4ff3acd00b7f
  • 在存储库 Spoon-Knife
  • 属于用户 octocat

可以对以下网址发出 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

...将返回以下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+}"
    }
  ]
}

更新

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