C#
我有一个在 .NET Core 2.2 框架之上编写的控制台应用程序。
我正在尝试使用我的应用程序连接 Google My Business API 以创建帖子。
但是每次我尝试调用 REST API 时都会出现以下错误
请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅 https://developers.google.com/identity/sign-in/web/devconsole-project。
该代码以前可以工作,但由于某种奇怪的原因,它停止了!
这是我获取身份验证令牌然后调用 API 以获取Google 帐户列表的示例。
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 之外,还有其他东西应该在标头中传递吗?