检查用户是否是Github项目的协作者

时间:2015-10-01 19:47:06

标签: ruby-on-rails ruby github github-api

我有一个rails应用程序,需要检查特定用户是否是Github项目的协作者,以及特定用户可以提交的GitHub项目列表。这是为了验证他们是否可以提交项目(例如,是管理员还是具有推送权限),并帮助他们选择他们可以承诺的项目。

我尝试使用rails gem" omniauth-github"使用Github API [1],但似乎需要成为回购所有者来验证用户的协作者状态。

GET /repos/:owner/:repo/collaborators/:username

您能否建议如何使用Github API和omniauth-github gem检查用户是否是项目的协作者?理想情况下,用户会授权应用获取该用户为所有者/协作者的回购列表,而无需用户授权应用进行更改(我不需要这样强大的权限)。

由于

[1] Special characters with dompdf and php

1 个答案:

答案 0 :(得分:1)

开发人员需要授权您的应用代表其访问Github。以下是有关设置身份验证的信息:https://developer.github.com/guides/getting-started/#authentication

您可以通过获取个人Oauth令牌进行测试。查看用户可以提交的公共存储库的查询是:

curl -H“授权:令牌OAUTH-TOKEN”https://api.github.com/user/repos?type=public

<强>更新

要通过github_api gem访问相同内容,请使用:

Github.new oauth_token: current_user.credentials.token
repo_data = github.repos.list(type: 'public')
相关问题