【问题标题】:Github API for users does not show starred repos用户的 Github API 不显示已加星标的存储库
【发布时间】:2019-02-26 03:57:51
【问题描述】:

我一直在尝试找到一种方法来获取在用户的 github 个人资料中加注星标的 repos 列表。大多数建议的解决方案包括使用 github 的 API,如下所示:

https://api.github.com/users/$GITHUB_USER$/repos

大多数解决方案以各种形式使用上述 API,例如 post。但是,它给出的是用户拥有的 repos,这与用户添加的 repos 不同。例如,Kenneth Reitz 拥有 94 个存储库,而他已为 1906 个存储库加注星标。因此,如果您在 python 中运行下面给出的代码,names_repos 将向您显示他拥有的 repos(总共 94 个)而不是他所主演的那些(总共 1906 个):

import requests
import json

GITHUB_USER = "kennethreitz"

r = requests.get("https://api.github.com/users/" + GITHUB_USER + "/repos?per_page=100" )

names_repos = json.loads(r.text)

我想要的是已加星标的存储库列表(在文本或其他文件中),可以在此处查看:https://github.com/stars/kennethreitz。但是,似乎 github API 无法提供该功能。我不介意是否有任何其他人看不到的私人回购,但我想获得一个我可以在加星号的回购下看到的任何回购的列表。

【问题讨论】:

    标签: list file github repository


    【解决方案1】:

    您需要使用已加星标的端点。用于获取有关用户已加星标的信息。

    https://api.github.com/users/xxxxxx/starred?per_page=100
    Example
    https://api.github.com/users/kennethreitz/starred?per_page=100
    

    您可以使用端点查看可用的 api 列表

    https://api.github.com/users/xxxxx
    example
    https://api.github.com/users/kennethreitz/
    

    【讨论】:

    • 谢谢!这正是我想要的。然而,在100 repos 的限制之后,如果我尝试继续以starred?per_page=100\&page=2starred?per_page=100\&page=3 等方式获得剩余的星标 repos,则每页仅提供 30 个。我做对了吗?获取 1906 存储库的完整列表的适当方法是什么?再次感谢。
    • 为什么在 per_page=100\ 之后有斜线?很可能是这个问题,api.github.com/users/kennethreitz/… 直接访问这个链接,它仍然显示 100 个条目
    • 是的,你是对的。如果您单击我评论中的链接,您会看到该答案下的最后一条评论建议了该格式。非常感谢。
    • @user11 我认为这是一个错字
    • 一个快速(和相关的)问题:是否可以以编程方式star github 存储库?例如,是否可以使用代码star 100 个带有已知 URL 的存储库?
    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 2015-02-04
    • 2018-12-07
    • 2016-02-12
    • 1970-01-01
    • 2019-12-31
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多