Как вывести список GitHub-репозитория пользователя через GitHub API - PullRequest
1 голос
/ 11 марта 2019

Я пытаюсь перечислить частные репозитории пользователя через GitHub API. В настоящее время я обращаюсь к GitHub с просьбой:

https://api.github.com/users/username/repos?sort=updated&direction=desc&visibility=all

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

'user',
'repo',
'repo_deployment',
'admin:repo_hook',
'admin:org_hook',

Но даже если я установлю все параметры области действия в своем окне для разработчиков, я вижу все общедоступные репозитории, но ни один из личных репозиториев пользователя. Я также попытался удалить все параметры из URL. Так что запрос следующий.

https://api.github.com/users/username/repos

Что опять не вернуло личные репозитории пользователя.

Я пытаюсь получить приватные репозитории для текущего пользователя. Но только те, которые принадлежат под их учетной записью.

Ответы [ 2 ]

3 голосов
/ 11 марта 2019

Вы используете неверную конечную точку для этого. Вы вместо следующей конечной точки:

https://developer.github.com/v3/repos/#list-your-repositories

https://api.github.com/user/repos

Список репозиториев, для которых аутентифицированный пользователь имеет явное разрешение (: read,: write или: admin) на доступ. Аутентифицированный пользователь имеет явное разрешение на доступ к своим репозиториям, репозиториям, в которых он является соавтором, и к репозиториям, к которым он может получить доступ через членство в организации.

Я только что проверил это, и это возвращает ваши личные репозитории.

Надеюсь, это поможет.

0 голосов
/ 11 марта 2019

Возможно, вам придется авторизовать для разрешения перечисления ваших личных репозиториев.

Получите токен OAuth из учетной записи (или из API авторизации OAuth ), затем добавьте токен в качестве параметра GET (в строке запроса ?access_token=OAUTH-TOKEN) или HTTP. заголовок (Authorization: token OAUTH-TOKEN) вашего запроса, возможно, у вас есть разрешение для вашей необходимости.

...