Подтвердить что ты не робот

Как перечислить организации частных репозиториев через API GitHub?

Я пытаюсь получить список организации всех репозиториев, включая частные. (Или, более конкретно, все частные репозитории, к которым у определенного пользователя есть доступ.)

Повторная информация для организации (https://api.github.com/orgs/acme?access_token=[...]) показывает, что действительно имеется множество частных репозиториев:

...
"public_repos": 5,
"total_private_repos": 68, 
"owned_private_repos": 68, 
...

(Используемый токен доступа был ранее сгенерирован с использованием API для имени пользователя/пароля.)

Но я пытаюсь перечислить репозитории...

https://api.github.com/orgs/acme/repos&access_token=[...]   

... API GitHub просто возвращает 5 публичных репозиториев. (Документация говорит type=all по умолчанию. Также попытался добавить параметр type=private; без разницы.)

Любая идея, что я делаю неправильно?

Пользователь, которому был создан токен доступа, фактически имеет Push и Pull доступ только к некоторым из частных репозиториев организации, но ни один из них не появляется в списке, который я получаю (только 5 публичных репозиториев).

4b9b3361

Ответ 1

Все, что вы делаете, в порядке. Однако при создании токенов OAuth для аутентификации убедитесь, что вы определяете правильный scopes. Каждая область определяет определенный набор разрешенных действий (информацию, которую вы можете читать/писать), поэтому вы должны проверить, что вы создаете токен с областью repo.

Ответ 2

Следует также отметить, что если вы обращаетесь к частным репозиториям из Организации, владельцы приложения OAuth должны авторизоваться в зависимости от настроек.

https://help.github.com/articles/authorizing-oauth-apps/

Для организаций с ограничениями доступа к приложению OAuth вы можете попросить администраторов организации одобрить приложение для использования в этой организации. Если организация не одобрит приложение, приложение сможет получить доступ только к общедоступным ресурсам организации. Если вы являетесь администратором организации, вы можете одобрить заявку самостоятельно.

Для организаций, не имеющих ограничений доступа к приложению OAuth, приложение будет автоматически авторизовано для доступа к ресурсам этой организации. По этой причине вам следует внимательно следить за тем, какие приложения OAuth вы одобряете для доступа к ресурсам вашей личной учетной записи, а также к любой организации. Ресурсы.