Octokit.net从登录电子邮件获取用户

时间:2019-01-31 03:22:51

标签: c# octokit octokit.net

我正在编写一个应用程序,允许用户直接访问保存在GitHub上的文件,而无需离开软件Revit(3D建模软件)。
我正在使用Octokit以便能够在我的C#应用​​程序中使用GitHub的功能。

我创建了一个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"));,但找不到任何用户,因此没有成功。)

0 个答案:

没有答案