2013-11-22 16 views
7

それは、ユーザーがチームif you know the idのメンバーであるかどうかを判断するのは簡単ですの所有者であるかどうかを確認しますすべての組織には「所有者」チームがありますか?のGitHub API v3は:ユーザーが組織

私が言うことができる限り、唯一の方法は、すべてのチーム(複数のページであると思われますか?)の完全なリストを取得し、「所有者」という名前で見つかるまで歩いていくことです。

これはもちろん実行可能ですが、それはGitHubのそれ以外の点で素晴​​らしいAPIにとっては特徴的に不便です。 ;)

何が価値があるのは、私が試したため

()運と、次の

だけ明確にすること、私が所有しているユーザーに関連付けられたトークンを使用するようにしてください行った

GET /orgs/:organization/teams?name=Owners # Lists all teams 
GET /orgs/:organization/owners   # 404 
問題の組織であるため、承認の問題はないはずです。

答えて

5

現在、ユーザーがオーナーチームにいるかどうかを簡単に確認する方法はありません。しかし、クールな機能の提案をありがとう! ;)

ハックのある回避策には、所有者だけが行うことができる非破壊操作を実行することが含まれます。操作が成功すると、認証されたユーザーは所有者になります。

たとえば、空のJSONハッシュを送信することにより、組織の設定を編集してみてください:

$ curl -v -X PATCH -d '{}' https://api.github.com/orgs/:org?access_token=TOKEN 

これが200のステータスコードを返した場合、ユーザーが所有者です。 404ステータスコードは、それ以外の場合に通知します。

将来的にはより洗練されたソリューションを提供できることを願っています。彼らはその組織のための「所有者」https://developer.github.com/v3/orgs/teams/#list-team-members

所有者という名前のチームの一部である場合だけで決定

+0

素晴らしい!これは私が現在やっていることのはるかに良い代替案です。 – namuol

+0

素晴らしい、ありがとう! –

+0

[メンバシップAPI](https://developer.github.com/v3/orgs/members/#list-your-organization-memberships)のように見えます。 [新しい回答を追加/受け入れました](http://stackoverflow.com/a/28190753/742156)乾杯〜 – namuol

0

は所有者とGitHubのための特別なチームです。

screen shot 2014-10-31 at 9 39 30 am

、代わりに迅速にソリューションをhttps://github.com/orgs/YOURORG/teams/owners

+0

残念なことに、オーナーチームのIDを見つけてからメンバーになっているかどうかを問い合わせる必要があります。チームの候補となる可能性があります。 – namuol

1

を参照してください、あなたは彼らが属する組織ごとに認証されたユーザーのメンバーシップの詳細を取得するためにmemberships APIを使用することができます。

要求は、単にGET /user/memberships/orgs?state=activeで、応答は次のようになります。

[ 
    { 
    "state": "active", 
    "role": "admin", 
    "organization": { 
     "login": "octocat", 
     "id": 1, 
    }, 
    "user": { 
     "login": "defunkt", 
     "id": 3, 
     "gravatar_id": "", 
     "type": "User", 
     "site_admin": false 
    } 
    }, 
    { 
    "state": "active", 
    "role": "member", 
    "organization": { 
     "login": "invitocat", 
     "id": 2, 
    }, 
    "user": { 
     "login": "defunkt", 
     "id": 3, 
     "gravatar_id": "", 
     "type": "User", 
     "site_admin": false 
    } 
    } 
] 

注意すべき重要な分野は、役割です。 "role": "admin"がほしいだけです。

これは、ユーザーがOwnersのメンバーであることを保証していませんが、は、には組織の管理権限があることが示されています。

関連する問題