GitHub API - 私有或分叉存储库,不列出也不比较

时间:2015-05-14 14:18:29

标签: github-api

在我的GitHub帐户中,我创建了一些公共存储库以及从组织中的存储库分叉的几个私有存储库。

我的问题是

a)GET / user / repos仅列出公开个人创建的存储库,而不管'类型'参数 b)分叉存储库上的COMPARE调用返回404

我正在使用Oauth 2登录。

我有什么遗失的东西吗?

由于

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您所描述的情况如下:

  1. 您属于某个组织。 (让我们称之为" @ your-organization"。)
  2. @ your-organization至少有一个私有存储库。 (让我们称之为"你的组织/私人回购"。)
  3. 您的个人帐户中有一个该存储库的分支(例如,gulliver-smith / private-repo)。
  4. 您正在使用OAuth令牌通过GitHub API进行身份验证。
  5. 当您访问GET /user/repos时,响应不包括您的分叉(例如,gulliver-smith / private-repo)。
  6. 当您访问GET /repos/gulliver-smith/private-repo/compare/:base...:head时,您会收到404
  7. 如果那是对的,那么您需要验证一些事项:

    1. 确保您的OAuth令牌具有repo scope。如果您的令牌具有repo范围,您将会观察到上述行为。要验证与令牌关联的范围,请查看X-OAuth-Scopes响应标头。

      $ curl -I https://api.github.com/ -H "Authorization: token REDACTED" | grep ^X-OAuth-Scopes
      
      X-OAuth-Scopes: admin:org, admin:public_key, delete_repo, gist, notifications, repo, user
      
    2. 如果您使用的是属于OAuth应用程序的令牌,则该组织可能已启用third-party application restrictions。如果是,您可以ask the organization's administrators to approve the OAuth application以便应用可以代表您访问该组织的存储库。