Github API文档向filter repositories by topics提供说明。 有没有办法使用API从特定的仓库中获取主题?
答案 0 :(得分:5)
我不知道有一种方法可以获取存储库的主题,但如果你执行get for a repository,则返回的存储库json对象将具有一个topic属性该存储库主题的数组。
在该文档页面的顶部,您会注意到要返回主题,您需要在GET
请求中添加特定标题:"Accept":"application/vnd.github.mercy-preview+json"
强>
希望这有帮助!
答案 1 :(得分:4)
您可以使用Github GraphQL API
执行此操作查询:
{
repository(owner: "twbs", name: "bootstrap") {
repositoryTopics(first: 10) {
edges {
node {
topic {
name
}
}
}
}
}
}
这将返回前10个主题和每个主题的名称,如下所示 响应:
{
"data": {
"repository": {
"repositoryTopics": {
"edges": [
{
"node": {
"topic": {
"name": "css"
}
}
},
{
"node": {
"topic": {
"name": "bootstrap"
}
}
},
{
"node": {
"topic": {
"name": "javascript"
}
}
},
{
"node": {
"topic": {
"name": "html"
}
}
}
]
}
}
}
}
中测试一下
答案 2 :(得分:1)
我遇到了类似的问题,所以我制作了一个节点模块,只需要一行代码来完成
var github_topics = require('github-topics');
var topics = github_topics.gettopics('url_of_repo');
例如
var topics = github_topics.gettopics('https://github.com/Aniket965/blog');
它将返回该github存储库的主题数组,该节点模块的链接为NPM
答案 3 :(得分:0)
您可以使用Github API(目前处于“预览模式”)轻松完成此操作:
curl -H "Accept: application/vnd.github.mercy-preview+json" https://api.github.com/repos/twbs/bootstrap/topics
{
"names": [
"css",
"bootstrap",
"javascript",
"html",
"jekyll-site",
"scss",
"css-framework",
"sass"
]
}
您需要包括额外的标题Accept: application/vnd.github.mercy-preview+json
。
有一个“但是”,因为它处于“预览模式”,因此不支持用于生产用途(请阅读下面链接中的“注意”和“警告”部分)。
另请参阅:
答案 4 :(得分:0)
我添加了带有接受标头的抓取:
SELECT b.name AS [Business]
,r.id
,b.is_open [Is Open]
FROM review r
JOIN business b
ON r.business_id = b.id
JOIN user u
ON r.user_id = u.id
WHERE r.fans > 100