gpt4 book ai didi

c# - .NET C# Google Apis - 无效授权异常

转载 作者:行者123 更新时间:2023-11-30 17:50:43 25 4
gpt4 key购买 nike

我开始使用 Google Api(.NET 版本)。- 我已经使用 NuGet 初始化了一个 VS 2010/.NET 4.0 项目来获取当前库。- 我创建了 Google 控制台项目并确保在其中启用了 Google+ 和 Google Analytics.v3 的 API- 我创建了一个 X509 证书用于身份验证。身份验证似乎有效。- 我使用我的谷歌电子邮件地址,因为它拥有所有项目并且是 api 的全能角色。- 我已将时间同步到 north-america.pool.ntp.org ... 只是为了确保我的时间与 Google 时间相似。

问题:无论服务 - Analytics 还是 Plus - 我都会抛出一个 invalid_grant 异常。我不知道为什么......其他论坛认为这是一个时间问题,但我认为,至少,我已经通过将时间服务器设置为 Google 似乎使用的内容来解决这个问题。

我的代码如下:

    public static void Main(string[] args)
{
Console.WriteLine("Plus API - Service Account");
Console.WriteLine("==========================");

String serviceAccountEmail = EMAIL_ADDRESS;

var certificate = new X509Certificate2(@"c:\tmp\PrivateKey3.p12", "notasecret", X509KeyStorageFlags.Exportable);

ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { PlusService.Scope.PlusMe }
}.FromCertificate(certificate));

// Create the service.
var service = new PlusService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Plus API Sample",
});

Activity activity = service.Activities.Get(ACTIVITY_ID).Execute();
Console.WriteLine(" Activity: " + activity.Object.Content);
Console.WriteLine(" Video: " + activity.Object.Attachments[0].Url);

Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}

在 service.Activities.Get() 代码行发生故障/异常抛出。任何人都可以帮助我了解根本原因和可能的修复方法吗?

最佳答案

EMAIL_ADDRESS var 需要是您在 API 控制台中设置 API 访问权限时创建的电子邮件地址(而不是您的 gmail 地址)。如果您正在处理谷歌应用程序,应用程序管理员将需要为您的 API 客户端 ID 提供访问您尝试访问的誓言范围的权限。在 serviceacountcredential 类中,您设置了一个属性来模拟特定用户。

您还应该导入并查询服务器上的本地证书库以获取该证书。它拥有公钥和私钥,不应存储在文件系统中。

关于c# - .NET C# Google Apis - 无效授权异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20381580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com