gpt4 book ai didi

ruby-on-rails - 使用 OAuth 访问私有(private)仓库的 Github API

转载 作者:行者123 更新时间:2023-12-04 06:32:04 24 4
gpt4 key购买 nike

尝试使用 API 访问我所属的 Github 组织的私有(private)存储库中的文件。到目前为止尝试了几种不同的方法:

1. 如果我使用 username/password method --

curl -u "sashafklein:mypassword" https://api.github.com/repos/:org/:repo/git/trees/:file_sha

它工作正常,但我正在尝试从协作 Rails 应用程序访问存储库,所以我不想公开我的 github 登录凭据。我想创建一个具有访问权限并使用这些凭据的虚拟 GH 帐户是可能的,但这绝对不理想..

2. 所以我查看了OAuth2 Secret/Key API文档中的方法。但它不起作用。如果我使用我的凭据作为 url 中的参数 curl org repo url:

curl -i "https://api.github.com/orgs/:org/repos?private&client_id=<ID>&client_secret=<SECRET>"

只显示公共(public) repo 。这可能是我如何传递参数的问题(传递“?private=true”理论上应该返回一个空列表,但列表是相同的并且所有公共(public) repo ),但我正在关注文档。

3. 所以我很沮丧,看了看these docs用于获取 OAuth token ,但我对如何更改它感到困惑,以便没有用户界面——即,以便我的应用程序可以自动访问我所属的 Github Orgs,而无需它的用户做任何特别的事。

知道我在尝试 2 中做错了什么,或者如何让尝试 3 自动工作吗?我很困惑。

编辑 我认为我的 client_id/secret 是错误的,因为即使我使用 Octokit,它也无法访问 protected 存储库。我理解错了吗?作为我,我在 Github 上为我的 Rails 应用程序创建了一个“应用程序”,我正在尝试使用这些凭据通过 API 访问组织的私有(private)存储库(我是其中的贡献者)。

最佳答案

万一有人遇到这个问题,这是我找到的解决方案。

显然,我的客户端凭证无法正常工作。我想我不太明白他们是干什么的。我可以让它工作的最简单方法(即,获得我的 Rails 应用程序访问我所属的私有(private)存储库的权限)是使用用户名:密码方法(上面的 1)。

为了避免使用该应用程序的每个人都可以使用我的个人 github 凭据,我创建了一个新的虚拟 github 帐户,该帐户具有专门用作 api 凭据的访问权限。

关于ruby-on-rails - 使用 OAuth 访问私有(private)仓库的 Github API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18242696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com