Как перечислить организации частных репозиториев через 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 публичных репозиториев).
Ответы
Ответ 1
Все, что вы делаете, в порядке. Однако при создании токенов OAuth для аутентификации убедитесь, что вы определяете правильный scopes. Каждая область определяет определенный набор разрешенных действий (информацию, которую вы можете читать/писать), поэтому вы должны проверить, что вы создаете токен с областью repo
.
Ответ 2
Следует также отметить, что если вы обращаетесь к частным репозиториям из Организации, владельцы приложения OAuth должны авторизоваться в зависимости от настроек.
https://help.github.com/articles/authorizing-oauth-apps/
Для организаций с ограничениями доступа к приложению OAuth вы можете попросить администраторов организации одобрить приложение для использования в этой организации. Если организация не одобрит приложение, приложение сможет получить доступ только к общедоступным ресурсам организации. Если вы являетесь администратором организации, вы можете одобрить заявку самостоятельно.
Для организаций, не имеющих ограничений доступа к приложению OAuth, приложение будет автоматически авторизовано для доступа к ресурсам этой организации. По этой причине вам следует внимательно следить за тем, какие приложения OAuth вы одобряете для доступа к ресурсам вашей личной учетной записи, а также к любой организации. Ресурсы.
Ответ 3
Ваш URL нужен? не & Должно быть так:
https://api.github.com/orgs/acme/repos?access_token=your_access_token