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メソッドを調べました。しかし、うまくいきません。資格情報を URL のパラメーターとして使用して組織リポジトリの URL をカールすると、次のようになります。
curl -i "https://api.github.com/orgs/:org/repos?private&client_id=<ID>&client_secret=<SECRET>"
公開リポジトリのみが表示されます。これは、パラメーターを渡す方法に問題がある可能性があります (「?private=true」を渡すと、理論的には空のリストが返されますが、リストは同一であり、すべてのパブリックリポジトリです)、ドキュメントに従っています。
3.そこでイライラして、OAuthトークンを取得するためにこれらのドキュメントを調べましたが、ユーザーインターフェイスがないように、つまり、アプリがGithub Orgsに自動的にアクセスできるように変更する方法について混乱しています私はそのメンバーであり、ユーザーは特に何もする必要はありません。
試行2で間違っていること、または試行3を自動的に機能させる方法はありますか? 私はかなり困惑しています。
編集client_id/secret が間違っていると思います。Octokit を使用しても、保護されたリポジトリにアクセスできないためです。私はこれを間違って理解していますか?私としては、Github で Rails アプリ用の「アプリケーション」を作成し、それらの資格情報を使用して、API を使用して組織のプライベート リポジトリ (私が貢献者である) にアクセスしようとしています。