2015-05-14 2 views
0

В моей учетной записи GitHub у меня есть несколько публичных репозиториев, которые я создал, а также несколько частных репозиториев, раздвоенных из репозиториев в моей организации.GitHub API - частные или разветвленные хранилища, не перечисляющие и не сравнивающие

Мои проблемы

а) GET/пользователь/хранилищу только листинг общественности лично созданный репозиториев независимо от «типа» параметра б) СРАВНЕНИЕ вызовы на разветвленных репозиториев возвращается 404

I Регистрация в Oauth 2.

Есть ли что-то, что мне не хватает?

Благодаря

ответ

0

Если я правильно понимаю, ситуация вы описываете выглядит следующим образом:

  1. Вы принадлежите к организации. (Назовем это «@ your-organization».)
  2. @ ваша организация имеет как минимум один закрытый репозиторий. (Назовем это «your-organization/private-repo».)
  3. У вас есть вилка этого репозитория в вашей личной учетной записи (например, gulliver-smith/private-repo).
  4. Вы используете токен OAuth для аутентификации с помощью API GitHub.
  5. Когда вы обращаетесь к GET /user/repos, ответ не включает в себя вашу вилку (например, gulliver-smith/private-repo).
  6. Когда вы получаете доступ к GET /repos/gulliver-smith/private-repo/compare/:base...:head, вы получаете 404.

Если это так, есть несколько вещей, которые вы хотите проверить:

  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, чтобы приложение могло получить доступ к репозиториям организации от вашего имени.