在屬於一個組織(而不是個人)一個回購協議,合作者是「團隊」的成員,團隊可以有三種不同的權限:通過API確定協作者的權限(對組織回購)?
- 僅拉出
- 推&拉
- 推,拉,&行政
我可以看到在回購這樣的合作者的名單:
GET /repos/:owner/:repo/collaborators
...但它不告訴我協作者擁有什麼類型的權限。
在這個特例中,我是合作者之一;我不擁有該存儲庫。
有沒有辦法以編程方式確定我有合作者權限的類型?
在屬於一個組織(而不是個人)一個回購協議,合作者是「團隊」的成員,團隊可以有三種不同的權限:通過API確定協作者的權限(對組織回購)?
我可以看到在回購這樣的合作者的名單:
GET /repos/:owner/:repo/collaborators
...但它不告訴我協作者擁有什麼類型的權限。
在這個特例中,我是合作者之一;我不擁有該存儲庫。
有沒有辦法以編程方式確定我有合作者權限的類型?
2017年6月更新:您現在有nested teams。
然而,orgs/teams
API提到:
的REST API V3還不完全支持嵌套的球隊。
例如,List team members和List team repositories的端點不返回從嵌套團隊結構繼承的結果。
原來的答覆2016
的一個查詢,其中應包括您的同意,「List User Teams」
GET /user/teams
列表中提到的所有的球隊在所有的組織,以認證用戶所屬的。此方法在通過OAuth進行身份驗證時需要用戶或回購。
答案是這樣的:
Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
[
{
"url": "https://api.github.com/teams/1",
"name": "Owners",
"id": 1,
"permission": "admin", <============
"members_count": 3,
"repos_count": 10,
"organization": {
"login": "github",
"id": 1,
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif"
}
}
]
你需要的是結果,爲了篩選出match the team with the right repo,你應當得到相關於回購這樣的權限級別。
請注意,'/ user/teams'假設用戶正在查找此信息與正在檢查權限的用戶相同。 –
如果沒有,請參閱http://stackoverflow.com/a/27885572/12916。 –
如果你想檢查是否有到GitHub庫推送權限,你可以使用repo
endpoint:
GET /repos/:owner/:repo
如果您的請求中包含的授權信息(無論是包括您的帳戶憑據或使用OAuth訪問令牌),該permissions
場會給你你正在尋找的信息:
{ 'admin': False, 'push': False, 'pull': True }
更專注於某個特定回購的個人,而不是我的回答(爲所有團隊閱讀管理權限)。有趣。 +1 – VonC
事實上,它_does_返回權限[至少在某些條件下](https://developer.github.com/v3/repos/collaborators/#list-collaborators)。 –