Octokit.net получить пользователя с логином - PullRequest
0 голосов
/ 31 января 2019

Я пишу приложение, которое позволяет пользователю получать доступ к его / ее файлам, сохраненным на GitHub напрямую, не выходя из программного обеспечения Revit (программное обеспечение для 3D-моделирования).
Я использую Octokit, чтобы иметь возможность использовать функциональные возможности GitHub вмое приложение на C #.

Я создал всплывающее окно WPF и запросил у пользователя аутентификацию.В первой версии приложения я регистрировал пользователя через его имя пользователя, токен GitHub (https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) и имя репозитория.
В этой новой версии я хочу немного улучшить вход в систему, позволяя пользователювойдите через его / ее учетные данные GitHub (адрес электронной почты и пароль), улучшая работу.

Я могу успешно войти в систему:
readonly GitHubClient client = new GitHubClient(new ProductHeaderValue("DynaHub")); client.Credentials = new Credentials("myaddress@email.com", "myPassword");

, но у меня проблемыв попытке получить все репозитории для пользователя. Я использую этот метод: var repos = await client.Repository.GetAllForUser(string login);

, но он не работает, если вы используете адрес электронной почты для входа. Он работает, только если я использую имя пользователя пользователя ина самом деле он находит все мои публичные репозитории.

Это само по себе немного странно, поскольку и метод Credentials(string login), и метод GetAllForUser(string login) запрашивают ввод string login, так что вы ожидаете, что электронное письмо, которое вы простоИспользование учетных данных для входа в систему также будет работать для получения репозиториев.

Если это не так, как я могу получить имя пользователя из электронной почты? Конечно, должен быть способ. (пробовал с var users = await client.Search.SearchUsers(new SearchUsersRequest("asd@asd.com")); как предложено где-то, но он не найдет ни одного пользователя, поэтому безуспешно.)

...