【问题标题】:Github API - Get contents of tag instead of masterGithub API - 获取标签的内容而不是 master
【发布时间】:2014-10-11 19:31:41
【问题描述】:

根据 github API 的文档 - https://developer.github.com/v3/repos/contents/ 来获取 repo 或文件的内容,我应该使用 GET /repos/:owner/:repo/contents/:path

基于此,如果我想在此 repo 中获取 package.json 文件的内容 - https://github.com/fastly/epoch/tree/master(此 repo 仅用于示例),我应该这样做 "/repos/fastly/epoch/contents/package.json"。这样就直接拿到master上package.json文件的内容了。

但在我的情况下,我想从其中一个标签中获取 package.json 文件的内容,即 - https://github.com/fastly/epoch/tree/0.6.0

我尝试了 github API 中所有可用的标签和树,但这里没有任何帮助 - https://developer.github.com/v3/git/trees/https://developer.github.com/v3/git/tags/

如何获取标记分支下的文件内容?

【问题讨论】:

    标签: git github github-api


    【解决方案1】:

    查看Contents API documentation 看起来您只需使用查询参数来执行此操作。使用您的示例,您将发出GET

    /repos/fastly/epoch/contents/package.json?ref=0.6.0
    

    cURL 请求看起来更像

    curl https://api.github.com/repos/fastly/epoch/contents/package.json?ref=0.6.0
    

    【讨论】:

    • 感谢@sigmavirus24!将 '?ref=0.6.0' 添加到 url 没有帮助。将继续寻找在 url 中使用 ref 的方式。
    • 嗯,我尝试了不同的方法并得到了它。它是 - /repos/fastly/epoch/contents?ref=0.6.0 它给出了这个标签下的文件列表,看起来我必须在列表中找到文件并使用它。
    • 你使用的是正确的media type吗?
    • 实际上刚刚注意到,即使您发布的网址也有效。是我的错,那里的文件名区分大小写。我尝试在 package.json 中使用“P”而不是“p”,因此它没有返回任何内容。我的错。谢谢@sigmavirus24!
    猜你喜欢
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    相关资源
    最近更新 更多