是否有解决方法可以获取GitHub上的组织列表?
例如:https://github.com/showcases/open-source-organizations
我们如何通过GitHub API或GitHub搜索来实现这一目标?
答案 0 :(得分:7)
您可以获取所有帐户的列表:
https://developer.github.com/v3/users/#get-all-users
type
参数会告诉您它是用户还是组织。
另一种方法是使用搜索API:
https://developer.github.com/v3/search/#search-users
您可以指定type:org
仅限组织:
答案 1 :(得分:5)
On June 17, 2015 GitHub为组织添加了一个新的API:
curl https://api.github.com/organizations
[
{
"login": "github",
"id": 9919,
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=3",
"description": "GitHub, the company."
},
...
]
其他信息可在the following link上找到:
按照在GitHub上创建的顺序列出所有组织。
注意:分页仅由since
参数提供。使用Link header获取下一页组织的网址。
<强>参数强>
<强>响应强>
Status: 200 OK
Link: <https://api.github.com/organizations?since=135>; rel="next"
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
----------------------------------------------------------------------
[
{
"login": "github",
"id": 1,
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization"
}
]
答案 2 :(得分:1)
请注意,也可以使用Github GraphQL v4来使用来请求组织:
{
search(query: "type:org", type: USER, first: 100) {
userCount
nodes {
... on Organization {
name
createdAt
description
}
}
}
}
答案 3 :(得分:0)
我遇到了类似的问题,也许我现在从github API doc得到答案。
详细说明文档:https://developer.github.com/v3/search/#search-users
可以使用几个参数。
q
:(字符串)。搜索字词。sort
:(字符串)。排序字段。可以是followers
,repositories
或joined
。默认值:结果按最佳匹配排序。order
:(字符串)。提供sort参数的排序顺序。其中一个asc
或desc
。默认值:desc
q
搜索字词还可以包含受支持的用户搜索限定符的任意组合,如浏览器内用户搜索文档和搜索语法文档所述:
type
使用此限定符,您可以将搜索范围限制为仅限个人帐户(user
)或仅限组织帐户(org
)。in
限定搜索哪些字段。使用此限定符,您可以将搜索范围限制为用户名(login
),公共电子邮件(email
),全名(fullname
)或这些的任意组合。repos
根据用户拥有的存储库数量过滤用户。location
按用户个人资料中指明的位置过滤用户。language
搜索具有与特定语言匹配的存储库的用户。created
根据用户加入的时间过滤用户。followers
根据用户数量过滤用户。对于您的问题,您可以尝试此示例并进行更改。
例如:
https://api.github.com/search/users?q=language:objective-c+type:org&page=1
请求GET并返回格式数据(json)。可以更改页面参数以获取更多结果页面(但根据当前的API文档,不超过1000)。
答案 4 :(得分:0)