Google 数据存储身份验证问题 - C#
Google Datastore authentication issue - C#
我正在尝试使用服务帐户凭据文件(我根据文档创建)连接到我帐户上的 Google 数据存储,但我在尝试时遇到身份验证错误插入实体:
Grpc.Core.RpcException: Status(StatusCode=Unauthenticated,
Detail="Exception occured in metadata credentials plugin.")
我的代码是:
var db = DatastoreDb.Create("myprojectid");
Entity entity = new Entity{
Key = db.CreateKeyFactory("mykindname").CreateIncompleteKey()
};
var keys = await db.InsertAsync(new[] { entity });
GOOGLE_APPLICATION_CREDENTIALS 变量引用凭据文件,当调用 GoogleCredential.GetApplicationDefaultAsync() 以查看凭据对象是否有效时,它看起来确实不错。 ..
我看到一些较早的示例将 GetApplicationDefaultAsync 函数与某些 DatastoreService 对象一起使用 - 但我找不到 DatastoreService 对象(可能它在旧版本中就存在.. .) 在最新的 .Net API: Google.Cloud.Datastore.V1
请注意,我不想使用其他身份验证方法:
1) 使用 gcloud 客户端。
2) 运行 来自 Google 环境(例如应用引擎)。
知道如何解决这个问题吗?
在 Jon Skeet 的大力帮助下,问题得以解决。
如果您没有引用所有必需的数据存储 dll,可能会出现身份验证问题。确保项目中引用的所有 dll 都是 运行 对数据存储的调用。
我已经通过 NuGet 添加了 Google 数据存储库库到我的测试项目中,一切正常!
请注意,在这种情况下,建议启用 gRPC 日志记录。 `(例如:GrpcEnvironment.SetLogger(new ConsoleLogger()),您可能会看到加载多个 dll 时是否存在问题...
如果您的系统时钟明显不正确,则可能会破坏身份验证。检查您的系统时间,并在必要时修复它,然后再次尝试针对数据存储进行身份验证。
我正在尝试使用服务帐户凭据文件(我根据文档创建)连接到我帐户上的 Google 数据存储,但我在尝试时遇到身份验证错误插入实体:
Grpc.Core.RpcException: Status(StatusCode=Unauthenticated, Detail="Exception occured in metadata credentials plugin.")
我的代码是:
var db = DatastoreDb.Create("myprojectid");
Entity entity = new Entity{
Key = db.CreateKeyFactory("mykindname").CreateIncompleteKey()
};
var keys = await db.InsertAsync(new[] { entity });
GOOGLE_APPLICATION_CREDENTIALS 变量引用凭据文件,当调用 GoogleCredential.GetApplicationDefaultAsync() 以查看凭据对象是否有效时,它看起来确实不错。 ..
我看到一些较早的示例将 GetApplicationDefaultAsync 函数与某些 DatastoreService 对象一起使用 - 但我找不到 DatastoreService 对象(可能它在旧版本中就存在.. .) 在最新的 .Net API: Google.Cloud.Datastore.V1
请注意,我不想使用其他身份验证方法:
1) 使用 gcloud 客户端。
2) 运行 来自 Google 环境(例如应用引擎)。
知道如何解决这个问题吗?
在 Jon Skeet 的大力帮助下,问题得以解决。
如果您没有引用所有必需的数据存储 dll,可能会出现身份验证问题。确保项目中引用的所有 dll 都是 运行 对数据存储的调用。
我已经通过 NuGet 添加了 Google 数据存储库库到我的测试项目中,一切正常!
请注意,在这种情况下,建议启用 gRPC 日志记录。 `(例如:GrpcEnvironment.SetLogger(new ConsoleLogger()),您可能会看到加载多个 dll 时是否存在问题...
如果您的系统时钟明显不正确,则可能会破坏身份验证。检查您的系统时间,并在必要时修复它,然后再次尝试针对数据存储进行身份验证。