尝试使用 API 访问我是其成员的 Github 组织的私有存储库中的文件。到目前为止尝试了几种不同的方法:
1.如果我使用用户名/密码方法--
curl -u "sashafklein:mypassword" https://api.github.com/repos/:org/:repo/git/trees/:file_sha
它工作正常,但我正在尝试从协作 Rails 应用程序访问存储库,所以我不想公开我的 github 登录凭据。我想创建一个具有访问权限并使用这些凭据的虚拟 GH 帐户是可能的,但这绝对不是理想的..
2.所以我查看了 API 文档中的OAuth2 Secret/Key方法。但它不起作用。如果我使用我的凭据卷曲 org repo url 作为 url 中的参数:
curl -i "https://api.github.com/orgs/:org/repos?private&client_id=<ID>&client_secret=<SECRET>"
只有公共回购出现。这可能是我如何传递参数的问题(传递“?private = true”理论上应该返回一个空列表,但列表是相同的并且所有公共回购),但我正在关注文档。
3.所以我很沮丧,并查看了这些文档以获取 OAuth 令牌,但我对如何更改它以便没有用户界面感到困惑——即,我的应用程序可以自动访问 Github 组织我是其中的一员,它的用户无需做任何特别的事情。
任何想法我在尝试 2 中做错了什么,或者如何让尝试 3 自动工作?我很困惑。
编辑我认为我的 client_id/secret 是错误的,因为即使我使用 Octokit,它也无法访问受保护的存储库。我理解错了吗?和我一样,我在 Github 上为我的 Rails 应用程序创建了一个“应用程序”,我正在尝试使用这些凭据通过 API 访问组织的私有存储库(我是其中的贡献者)。