我有一个用编写的控制台应用程序C#
在.NET Core 2.2框架之上。
我正在尝试使用我的应用程序连接 Google 我的商家 API 来创建posts https://developers.google.com/my-business/content/posts-data.
但每次我尝试调用 REST API 时都会收到以下错误
请求的身份验证凭据无效。预期的 OAuth 2
访问令牌、登录 cookie 或其他有效的身份验证凭据。
看https://developers.google.com/identity/sign-in/web/devconsole-project https://developers.google.com/identity/sign-in/web/devconsole-project.
该代码以前可以工作,但由于某种奇怪的原因,它停止了!
这是一个示例,我获取身份验证令牌,然后调用 API 来获取列表谷歌帐户 https://developers.google.com/my-business/content/account-data.
var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
{
ClientId = "Client ID",
ClientSecret = "Client Secret",
}, new[] { "https://www.googleapis.com/auth/plus.business.manage" }, "google username", CancellationToken.None);
using (var client = new HttpClient())
{
//client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", credential.Token.AccessToken);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var c = await client.GetAsync("https://mybusiness.googleapis.com/v4/accounts");
var accountContentss = await c.Content.ReadAsStringAsync();
c.EnsureSuccessStatusCode();
var accountContent = await c.Content.ReadAsStringAsync();
}
我能够毫无问题地进行身份验证并获取访问令牌。但是,由于某种原因,第二次调用 API 失败。
如何正确调用Google API?除了 AccesToken 之外,还应该在标头中传递其他内容吗?