56

プライベートなものを含む、組織のすべてのリポジトリのリストを取得しようとしています。(より具体的には、特定のユーザーがアクセスできるすべてのプライベート リポジトリ。)

組織 ( https://api.github.com/orgs/acme?access_token=[...]) の情報を要求すると、プライベート リポジトリが実際にたくさんあることがわかります。

...
"public_repos": 5,
"total_private_repos": 68, 
"owned_private_repos": 68, 
...

(私が使用しているアクセス トークンは、ユーザー名/パスワードの APIを使用して以前に生成されたものです。)

しかし、リポジトリをリストしようとしても...

https://api.github.com/orgs/acme/repos?access_token=[...]   

...GitHub API は 5 つのパブリック リポジトリを返すだけです。(ドキュメント type=allにはデフォルトが記載されています。また、パラメータを追加してみましたtype=private;違いはありません。)

私が間違っていることは何か分かりますか?

アクセス トークンが生成されたユーザーは、実際には、組織のプライベート リポジトリの一部にプッシュ アンド プル アクセスできますが、取得したリストには表示されません (5 つのパブリック リポジトリのみ)。

4

7 に答える 7

30

あなたがしていることはすべてOKです。ただし、認証用の OAuth トークンを作成するときは、正しいスコープを定義していることを確認してください。各スコープは、許可されたアクション (読み取り/書き込みが可能な情報) の特定のセットを定義するため、repoスコープを使用してトークンを作成していることを確認する必要があります。

于 2013-06-11T08:32:50.723 に答える
0

最近同じ症状が出ましたが原因が違いました。OAuth App ではなく、GitHub App を登録していたのですが、その違いをまったく意識していませんでした。GitHub アプリが組織からのプライベート リポジトリを一覧表示するには、アプリがその組織用にインストールされ、ユーザーによって承認されている必要があります。それ以外の場合は、パブリック リポジトリを一覧表示するだけです。

于 2021-10-27T11:35:35.937 に答える