【问题标题】:Access GitHub Wiki with Java使用 Java 访问 GitHub Wiki
【发布时间】:2014-07-30 07:40:17
【问题描述】:

有什么方法可以使用 Java 访问 GitHub Wiki?
让我们来看看这个网站:https://github.com/radiant/radiant/wiki。如何检索所有可能的信息,如链接、标题、描述等?有 API 吗?

Can I checkout github wikis like a git repository? 上面写着,我现在可以克隆 Wiki。那么是否可以使用jGit来访问呢?

【问题讨论】:

    标签: java github github-api jgit


    【解决方案1】:

    很遗憾,无法通过 GitHub API 获得 wiki 详细信息。

    但是,它们可以作为存储库使用,您可以在本地克隆:

    例如:git clone https://github.com/radiant/radiant.wiki.git

    这将为您提供原始 Markdown 页面和更改历史记录。

    【讨论】:

    • 有没有机会通过 api 访问它?例如 jGit?
    • JGit 用于操作本地机器上的 git 存储库。
    【解决方案2】:

    是的,您可以通过向此处记录的 github API 提交 cURL 请求来执行此操作:https://developer.github.com/v3/

    前:

    curl -G https://api.github.com/repos/{repo-owner}/{repo-name}
    

    (在你的情况下,repo-name 和 owner 都是光芒四射的)

    这将返回一个带有一堆链接的 JSON 对象,以获取您想要与 repo 关联的任何信息。

    我知道响应中有一个简短的描述字段,以及一堆包含 url 的 *_url 字段,用于获取与 repo 相关的其他信息,例如 contents_url、cmets_url、git_tags_url 等等。

    要访问这些,您只需向存储在字段中的 url 发送一个类似的获取请求到上面的请求。

    如果您需要有关如何在 java 中发出 cURL 请求的信息,已经有一篇很好的 SO 帖子here

    【讨论】:

    • 好的,我可以访问项目的全局信息,如 id、name、avatar_url 等。但是 wiki 页面上的具体信息呢?在我的示例中,它将是“安装”、“基础知识”等以及相应的描述?
    • 我已经能够使用不那么优雅的解决方案来获取它...。您可以向您发送给我的原始 URL 发送一个获取请求,然后取回该页面的 html 表示。响应将是整个页面,但您可以在 id="wiki-content" 的 div 中找到主要内容,然后从内部 html 元素中抓取文本。就像我一开始说的那样,这不是一个很好的解决方案。
    • 有没有什么api可以为我提供更优雅的解决方案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2017-03-02
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    相关资源
    最近更新 更多