我正在尝试编写一个脚本,它将打开在控制台中键入的问题。
由于某些原因,调试器中的issue变量返回为空。
class Program
{
public async static Task Main()
{
var client = new GitHubClient(new ProductHeaderValue("test-app"));
var user = await client.User.Get("medic17");
var tokenAuth = new Credentials(APIKeys.GithubPersinalAccessToken);
client.Credentials = tokenAuth;
var exampleIssue = new NewIssue("test body");
var issue = await client.Issue.Create("owner","name", exampleIssue);
}
}APIKeys持有我的令牌。
谢谢
发布于 2019-08-15 12:20:49
我找到了一个解决方案,希望这对其他人也有帮助。
class Program
{
public async static Task Main()
{
// client initialization and authentication
var client = new GitHubClient(new ProductHeaderValue("<anything>"));
var user = await client.User.Get("<user>");
var tokenAuth = new Credentials(APIKeys.GithubPersinalAccessToken);
client.Credentials = tokenAuth;
// user input
Console.WriteLine("Give a title for your issue: ");
string userIssueTitle = Console.ReadLine().Trim();
Console.WriteLine("Describe your issue:", Environment.NewLine);
string userIssue = Console.ReadLine().Trim();
// input validation
while (string.IsNullOrEmpty(userIssue) || string.IsNullOrEmpty(userIssueTitle))
{
Console.WriteLine("ERROR: Both fields must contain text");
Console.ReadLine();
break;
}
var newIssue = new NewIssue(userIssueTitle) { Body = userIssue };
var issue = await client.Issue.Create(<owner>, <repo> newIssue);
var issueId = issue.Id;
Console.WriteLine($"SUCCESS: your issue id is {issueId} ");
Console.ReadLine();
}
}Note,您需要将密钥存储在一个单独的文件中,并为此编写一个类,这样您的身份验证流程就可能有所不同。
注释2您必须用实值替换所有文本。
发布于 2022-07-28 18:34:07
不过,这个应用程序还有点混乱,因为它处理的是OpenSource的数据传输,想要使用它的用户需要GitHub帐户,如果他们想要做任何错误报告。我假设我不共享项目源代码中的authToken,但是桌面二进制文件需要它加上用户、GitHub登录名和密码。有什么指示吗?我试过只使用用户名密码,这个密码在创建问题时输入,但在“not”中失败。使用二进制应用程序部署的任何秘密似乎都是一个潜在的问题。
https://stackoverflow.com/questions/57457162
复制相似问题