如何访问 Github 用户的 atom 提要以获取项目的提交?或替代

Posted

技术标签:

【中文标题】如何访问 Github 用户的 atom 提要以获取项目的提交?或替代【英文标题】:How to access to the atom feed of a Github user to get commits from a project? or alternative 【发布时间】:2017-10-03 09:57:36 【问题描述】:

您好,我是 Laravel 和一般编程新手。

我正在尝试做一个应用程序来跟踪我在 GitHub 上的团队项目的提交历史。我现在使用 `git log` 来执行此操作,但我的想法是将其放在服务器上并从任何地方访问,而无需手动执行命令(不知道这是否可能)。

所以,目前,对我来说,解决方案是阅读项目用户成员的 atom 提要。问题是 - 出于显而易见的原因 - 私人回购不能直接访问。 GitHub文档说可以使用基本身份验证访问它们,但目前我无法做到这一点。即使使用 Oath2 创建和应用程序并授予权限,我也尝试在 Postman 上进行测试,但不知道为什么它不起作用。

顺便说一句,对不起我的英语。在此先感谢:)

【问题讨论】:

也许能帮上忙***.com/questions/7353538/… 【参考方案1】:

Github provides a public API 用于以 json 格式检索用户事件。

如果您在 (unix) 控制台中键入:

curl https://api.github.com/users/sea-reel/events

…你会得到我最近一次公开提交的列表。

要使用 Laravel 实现这一点,您可以简单地使用 file_get_contents() :

Route::get('/commits/username', function($username)

    $url = "https://username:password@api.github.com/users/$username/events";
    $json = json_decode(file_get_contents($url),true);

    dd($json);
);

要同时访问来自私有存储库的提交,您可以使用various authentication methods provided by Github's API 之一。这里我使用了基本身份验证,但您可能会发现使用 OAuth 和存储密钥而不是原始密码更安全。

【讨论】:

以上是关于如何访问 Github 用户的 atom 提要以获取项目的提交?或替代的主要内容,如果未能解决你的问题,请参考以下文章

设置Github Commit RSS提要

如何告诉 Web 浏览器关于 Atom 提要

如何在 Rails 3 中制作 RSS/Atom 提要?

如何获取github版本的rss feed,仅最新版本,不包括预发布?

如何向 atom.builder 提要生成器添加链接标签?

在 atom 提要中公开数据