C# HttpClient PostAsync到Blogger API

C# HttpClient PostAsync到Blogger API,c#,rest,oauth,blogger,dotnet-httpclient,C#,Rest,Oauth,Blogger,Dotnet Httpclient,我使用下面的API与Google Blogger进行交互。我需要在用户博客中插入一篇文章。但是,我的PostAsync功能有问题。我得到一个401通知,尽管有一个API密钥,但我的请求没有得到授权,但是我认为我可能没有正确地插入OAuth令牌 我有以下代码 这是我设置授权头的代码(注意这里的密钥是假的,但形式与我认为的OAuth令牌相同) 这是我的PostAsync功能 HttpResponseMessage response = await req.PostAs

我使用下面的API与Google Blogger进行交互。我需要在用户博客中插入一篇文章。但是,我的PostAsync功能有问题。我得到一个401通知,尽管有一个API密钥,但我的请求没有得到授权,但是我认为我可能没有正确地插入OAuth令牌

我有以下代码

这是我设置授权头的代码(注意这里的密钥是假的,但形式与我认为的OAuth令牌相同)

这是我的PostAsync功能

                HttpResponseMessage response = await req.PostAsync(URLs.postBlogURL + blogID + URLs.postBlogURLPost, new StringContent(json));
谁能告诉我哪里出了问题?干杯

[更新]

我不确定授权是否必须包括字符串持有者

    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer ya29.AHES6ZTBZi1dWPVdlcF7qAD-nSM6XxwY2323232m4lXW");

这就是我如何为我的请求设置正确的OAuth auth头的原因:

httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue( "Bearer", _accessTokenWrapper.Token.access_token );
构造函数的第一个参数是用于授权头的方案。因此,在请求中,标题为:

Authorization: Bearer {the access token string}

有没有办法独立验证API密钥?另外,试着检查响应的内容,它可能包括一些额外的诊断信息。是的,我可以做一个需要API的get请求。所以这完全取决于帖子的要求。我只是觉得我没有为我的HttpClient正确设置授权头。你是如何执行
GET
请求的?在web浏览器中或使用HttpClient?您是否使用Fiddler(或类似工具)来比较您的工作GET请求和失败的POST?@Snixtor据我所知,我没有执行任何GET请求。我使用“WebAuthenticationResult”和“WebAuthenticationBroker”进行身份验证。谢谢!在这里工作很好。嗨@Scott你能发布accessTokenWrapper类的代码吗?我感兴趣的是为令牌值创建一个全局存储。谢谢,我将获得用于创建_accessTokenWrapper对象的类的名称空间和NuGet包是什么?
Authorization: Bearer {the access token string}