如何使用这些 cURL 命令调用 REST Web API 获取访问令牌 - 在 C# 中

2024-01-04

我对 OAuth 有点陌生,但正在学习。我所拥有的是我正在尝试遵循的本教程。我正在尝试遵循“生物 - 检索传记记录数据”下的简单 3 行示例:https://members.orcid.org/api/tutorial-retrieve-data-public-api-curl-12-and-earlier https://members.orcid.org/api/tutorial-retrieve-data-public-api-curl-12-and-earlier

不过,我需要做的是使用 C# 控制台程序而不是 CURL 来执行此操作,我想使用 HttpClient 命名空间。我有自己的客户端 ID 和客户端密钥可供使用。我正在尝试使用此公共 API 来获取访问令牌以存储在任何位置,然后像本示例一样进行调用以获取 XML 数据。我的问题是我不知道如何将他们的 CURL 调用转换为 C# 代码。我没有为此使用 ASP.NET 网站...这一切都需要在 C# 控制台程序中完成。


如果您计划使用curl 来完成许多不同的任务,而不是重写该工具。只需下载 Windows 兼容版本并将其作为资源嵌入到您的控制台应用程序中。

Windows(32 位)版本的curl.exe -

编辑 - 像这样的东西:

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "C:\CURL\curl.exe";
p.StartInfo.Arguments = "-i -L -H 'Accept: application/json' -d 'client_id=APP-GWTDOE3CX89FH7FD' -d 'client_secret=5160c539-4ec9-4e8c-8966-580df68b494f' -d 'scope=/read-public' -d 'grant_type=client_credentials' 'https://pub.sandbox.orcid.org/oauth/token'";           
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用这些 cURL 命令调用 REST Web API 获取访问令牌 - 在 C# 中 的相关文章

随机推荐