Octokit.net получить пользователя с логином
Я пишу приложение, которое позволяет пользователю получать доступ к его / ее файлам, сохраненным на 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"));
как предложено где-то, но он не найдет ни одного пользователя, так что безуспешно.)