C# 一旦我有了访问令牌,如何调用OAuth API&;刷新令牌

C# 一旦我有了访问令牌,如何调用OAuth API&;刷新令牌,c#,.net,api,oauth,C#,.net,Api,Oauth,好吧,天哪,我真的很难完全理解Oauth这个东西。我正在做一个极其缓慢的过程 现在,我有了access\u令牌和refresh\u令牌以及id\u令牌: { "access_token":"SlAV32hkKG" "id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", "token_type":"Bearer", "refresh_token":"76c5cdeecfd1543cfd4c3e7c054780ac"

好吧,天哪,我真的很难完全理解Oauth这个东西。我正在做一个极其缓慢的过程

现在,我有了
access\u令牌
refresh\u令牌
以及
id\u令牌

{
    "access_token":"SlAV32hkKG"
    "id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
    "token_type":"Bearer",
    "refresh_token":"76c5cdeecfd1543cfd4c3e7c054780ac",
    "expires_in": 3600
}
接下来,我只需要使用上面的代码来进行最终的、实际的API调用。请相信我,我已经看过了,但我没有找到一个好的、简单的、干净的代码示例,说明如何在C#.NET应用程序中进行此调用

我尝试使用的API确实有自己的文档,这就是他们对这一步所说的全部内容:

4。发出API请求

既然您的应用程序有了一个有效的访问令牌,它现在就可以使用它了 向PDK API发出经过身份验证的请求的令牌。这是由 仅将访问令牌包括在承载类型授权中 请求的标题。授权标题应类似 致:

授权:持票人 EYJ0EXAIIOIJKV1QILCHbGCIOIJZI1NIJ9…GmUdC2H13YMCwc30Z3l5RCrbwQ

从代码编写的角度来看,这并没有什么帮助。他们是说,当我进行最终(实际)API调用时,我这样做没有实际的身份验证,而是将
access\u令牌
作为一个普通头包含在内?如果是这样,标题的名称(键)是什么?而且
Authorization:Bearer
也是自己的头吗

已经很有帮助了,但是我仍然很难把他的例子翻译成我正在努力做的事情

由于这将是一个离线应用程序,我还需要以某种方式包含“resh_令牌”

我知道这里的协议是提供我们已经尝试过的代码,并征求关于如何修复它的建议。通常我就是这么做的。但老实说,我在这里迷路了


提前谢谢你

您需要使用
access\u令牌设置授权头。
以下是一个例子:

var myUri = new Uri(fullpath);
var request = WebRequest.Create(myUri);
var httpRequest = (HttpWebRequest)request;
httpRequest.PreAuthenticate = true;
httpRequest.Headers.Add("Authorization", "Bearer " + access_token);
httpRequest.Accept = "application/json";

var webResponse = request.GetResponse();
var responseStream = webResponse.GetResponseStream();
if (responseStream == null) return null;
var reader = new StreamReader(responseStream, Encoding.Default);
var result = reader.ReadToEnd();
responseStream.Close();
webResponse.Close();

是的,您可以将其添加为标题。
授权
持有者,你的钥匙放在这里
。与这个问题无关-我喜欢你的简历:)我喜欢比萨饼。和移动发展。和.NET。请送比萨饼。哈哈哈哈哈哈:)是的,还在等比萨饼:(当
access\u令牌
过期时,你可以使用
refresh\u令牌
来获取一个新的
access\u令牌
那么实际调用是这样的吗?var json=httpRequest.GetResponse();