首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在GitHub中使用REST API列出给定主题的所有存储库?

如何在GitHub中使用REST API列出给定主题的所有存储库?
EN

Stack Overflow用户
提问于 2018-08-19 05:58:03
回答 2查看 1.4K关注 0票数 1

我想用一个主题的所有存储库的列表来更新一个README.md。在使用提交更改(自动使用脚本)编写和更新之前,我希望获得给定主题的所有字符串和repo URL。我将保存每次执行脚本的日期。

我找到了一种方法来获取存储库的所有主题,而不是某个主题的所有存储库: V3接口中的https://developer.github.com/v3/repos/#list-all-topics-for-a-repository

此外,似乎有“相关主题”或类似的主题具有同义词或不同的打字错误。

示例:https://github.com/search?q=abap&type=Topics

如何获取给定主题(及其相关主题)的所有repo URL,以便更新readme.me文件和(以确定新的repo)?

EN

回答 2

Stack Overflow用户

发布于 2019-10-04 23:49:29

这里有两种方法可以实现这一点:

1. CURL:

代码语言:javascript
复制
curl -H "Accept: application/vnd.github.mercy-preview+json" "https://api.github.com/search/repositories\?q\=topic:XYZ"

显然,如果您的存储库是私有的,您可以使用-u添加您的令牌或github用户名和密码。

Python 2.

有一个名为PyGithub的库,它基本上使用了大多数githhub开发人员应用程序接口,并将它们转换为python函数。

PyGithub

下面是一些代码:

代码语言:javascript
复制
import github

g = Github("YOUR_GITHUB_TOKEN")

topic = 'php'
ORGANIZATION = 'your_github_org_name'

repos = g.search_repositories(query=f'topic:{topic} org:{ORGANIZATION}')
for repo in repos:
    print(repo)

我写了一个很长的函数,它也做了很多其他的检查,但这是一个基本的函数,它将得到你想要的东西(显然你可以修剪返回的repos的名称,等等)

希望这能有所帮助。干杯。

票数 1
EN

Stack Overflow用户

发布于 2018-08-19 05:58:03

首先,我找到了pagination的帮助,可以在几个页面中爬行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51912862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档