使用图形API获取具有特定GitHub主题的所有repos可以通过以下步骤完成:
{
search(query: "topic:<主题>", type: REPOSITORY, first: 100) {
nodes {
... on Repository {
name
url
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
将<主题>
替换为你感兴趣的主题关键词。
requests
库来发送HTTP POST请求并获取查询结果。以下是一个使用Python进行查询的示例:import requests
headers = {
'Authorization': 'Bearer <你的访问令牌>',
}
data = {
'query': '''
{
search(query: "topic:<主题>", type: REPOSITORY, first: 100) {
nodes {
... on Repository {
name
url
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
'''
}
response = requests.post('https://api.github.com/graphql', headers=headers, json=data)
result = response.json()
# 处理结果
repos = result['data']['search']['nodes']
for repo in repos:
print('Repo Name:', repo['name'])
print('Repo URL:', repo['url'])
记得将<你的访问令牌>
替换为你在第1步中生成的GitHub个人访问令牌。
hasNextPage
和endCursor
字段来获取更多结果。构建新的查询时,将endCursor
的值作为下一个查询的参数,以获取下一页的结果。这样,你就可以使用图形API获取具有特定GitHub主题的所有repos了。请注意,由于GitHub API的限制,每个查询最多只能返回100个结果,如果需要更多结果,你需要进行分页处理。此外,根据你选择的编程语言和相关库的不同,实际实现的方式可能会有所不同。
领取专属 10元无门槛券
手把手带您无忧上云