2012-01-23 19 views
13

プライベートレポを取得し整理することに問題があります。このメソッドでAPI V3を使用しています:http://share.jjnford.com/HhIZGitHub API V3を使用している組織からプライベートレポを取得

私はjQuery.getJSONコマンドを使用して、API URLにOAuth2アクセストークンを渡していますが、公開リポジトリを取得するだけです。

また、ユーザーアカウント(コンテキスト)に個人の組織リポジトリをフォークしてユーザーリポジトリをプルすると、組織からフォークされたプライベートレポを除くすべてのrepos(公開&プライベート)が表示されます。

誰もがこれで私を助けることができる...それは...事前に

おかげで私の最後のハードルであります!

答えて

3

私は問題を見つけて修正しました。使用可能なGitHub API V3 there are multiple scopesに従う。 "user"スコープがもう有効ではないようです。 "repo"スコープだけを使用すると、すべてが正しく検索されました(私設組織reposと私設forked org repos)。

+0

リンク先のドキュメントには「user」という有効なスコープがあります。あなたの変更がうまくいかなかったのか、ドキュメントが間違っていると推測していますか? – mikemaccana

0

私はこの時点で正解を見つけることができませんでした。私のアプリケーションにはあまりにも過剰なので、スコープ "repo"を求めたくありません。コードの読み書き権限を求められます。ここで私はうまくいきました(私はRubyをoctokit gem(https://github.com/octokit/octokit.rb)と一緒に使用しています)、github開発者からのIvanに特別な感謝の意を表します:

1.- Oauthの間に、 "read:org"スコープ我々が原因でそれを行うことができ、

client = Octokit::Client.new(access_token: my_oauth2_token) 

3.-ユーザーの組織を取得しますと2.- Githubの

から

のOauth 2トークンを取得octokitのクライアントを初期化します。スコープ「読みORG」

organizations = client.organizations 

4.各組織について、このユーザーが所属するGithub管理チームを取得します。そして、はい、あなたは間違いなくすべての利用可能なリポジトリを収集するために多くの要求が必要になりますが、私は前に言ったように、私の場合、私がお聞きしたくなかった

organizations.each do |organization| 
    admin_team = client.organization_teams(organization[:id]).select { |repo| repo[:permission] == 'admin' }.first 
    org_repos << client.team_repositories(admin_team[:id]) 
end 

可能なリポジトリを取得するためにこのチームを使います「ユーザ」スコープ

注:はい、ユーザーは、特定の組織内の「管理者」チームのメンバーで、プライベートレポを見ることができなければなりません。

関連する問題