检查用户是否是 Github 项目的协作者
Check if user is a collaborator on a Github Project
我有一个 rails 应用程序,需要检查特定用户是否是 Github 项目的协作者,以及特定用户可以提交的 GitHub 项目列表到。这是为了验证他们是否可以提交项目(例如,是管理员或具有推送权限),并帮助他们挑选他们可以提交的项目。
我尝试将 rails gem "omniauth-github" 与 Github API[1] 一起使用,但似乎需要一个回购所有者才能验证用户的协作者状态。
GET /repos/:owner/:repo/collaborators/:username
能否推荐一下如何使用 Github API 和 omniauth-github gem 检查用户是否是项目的协作者?理想情况下,用户会授权应用程序获取该用户是 owner/collaborator 的回购列表,而不需要用户授权应用程序进行更改(我不需要如此强大的权限)。
谢谢
[1] https://developer.github.com/v3/repos/collaborators/#get
开发者需要授权您的应用代表其访问Github。以下是有关设置身份验证的信息:https://developer.github.com/guides/getting-started/#authentication
您可以通过获取个人 Oauth 令牌进行测试。查看用户可以提交的 public 回购的查询是:
curl -H "Authorization: token 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')
我有一个 rails 应用程序,需要检查特定用户是否是 Github 项目的协作者,以及特定用户可以提交的 GitHub 项目列表到。这是为了验证他们是否可以提交项目(例如,是管理员或具有推送权限),并帮助他们挑选他们可以提交的项目。
我尝试将 rails gem "omniauth-github" 与 Github API[1] 一起使用,但似乎需要一个回购所有者才能验证用户的协作者状态。
GET /repos/:owner/:repo/collaborators/:username
能否推荐一下如何使用 Github API 和 omniauth-github gem 检查用户是否是项目的协作者?理想情况下,用户会授权应用程序获取该用户是 owner/collaborator 的回购列表,而不需要用户授权应用程序进行更改(我不需要如此强大的权限)。
谢谢
[1] https://developer.github.com/v3/repos/collaborators/#get
开发者需要授权您的应用代表其访问Github。以下是有关设置身份验证的信息:https://developer.github.com/guides/getting-started/#authentication
您可以通过获取个人 Oauth 令牌进行测试。查看用户可以提交的 public 回购的查询是:
curl -H "Authorization: token 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')