什么是我的GitHub设备的REST API端点?

时间:2016-04-08 15:41:18

标签: github-api

我想使用Groovy,HttpBuilder和REST API来访问我们公司的onsidte GitHub设备。 GitHub开发人员的网站https://developer.github.com/v3/显示了以下网址:https://api.github.com。因此,如果我公司的GitHub URL是:http://github.mycompany.com,那么我的REST API端点URL是什么?例如如果我想列出所有用户,那么正确的URL是什么?

当我访问此网址时:https://github.mycompany.com/api/v3,它会给我一个错误:

github.mycompany.com拒绝连接。 ERR_CONNECTION_REFUSED

4 个答案:

答案 0 :(得分:7)

根据“API Enterprise 2.5”:

  

所有API端点(Management Console API端点除外)都以以下网址为前缀:

http(s)://hostname/api/v3/

但您需要进行身份验证:

  

验证

     

您的Enterprise安装的API端点接受the same authentication methods作为GitHub.com API。具体来说,您可以使用 OAuth tokens 进行身份验证(可以使用Authorizations API) basic authentication创建。

     

每个Enterprise API端点只能由GitHub Enterprise网站管理员访问,但Management Console API除外,该Management Console password API只能通过{{3}}访问。

答案 1 :(得分:3)

TLTR;这些是端点

+----+------------------------------------------+--------------------------------+
|    |                Enterprise                |             GitHub             |
+----+------------------------------------------+--------------------------------+
| v3 | https://[YOUR_HOST]/api/v3               | https://api.github.com         |
| v4 | https://[YOUR_HOST]/api/graphql          | https://api.github.com/graphql |
+----+------------------------------------------+--------------------------------+

实施例

这里有一些示例,以防您想要尝试它们。您需要创建ACCESS_TOKEN

<强>企业

curl -H "Authorization: bearer [ACCESS_TOKEN]" https://[YOUR_HOST]/api/v3/organizations
curl -H "authorization: bearer [ACCESS_TOKEN]" https://[YOUR_HOST]/api/graphql -d "{\"query\": \"query { viewer { login } }\"}" 

<强> GitHub的

curl -H "Authorization: bearer [ACCESS_TOKEN]" https://api.github.com/organizations
curl -H "authorization: bearer [ACCESS_TOKEN]" https://api.github.com/graphql -d "{\"query\": \"query { viewer { login } }\"}" 

答案 2 :(得分:2)

如果您不使用https,则为“http://github.mycompany.com/api/v3/”。

答案 3 :(得分:2)

您收到该邮件是因为该请求未经过身份验证。

首先,您必须弄清楚您的服务器接受哪种身份验证,然后将其合并到请求的标头或(查询字符串)中。

例如,这就是我获取可以访问的组织的列表(使用标题方法)的方式:

`url -k -H "Authorization: token xxxxxx...xxx" \ https://git.acme.com/api/v3/organizations`

请注意,xxxxx ... xxx是我创建的个人访问令牌的占位符,我使用对我的回购的只读访问权限。文档将此称为OAUTH_TOKEN。您可以选择将令牌作为查询字符串插入。在的情况下,您必须输入用户名,因为服务器会从令牌中找出该用户名。