我为我的 Google Proximity API 项目创建了一个服务帐户,并下载了密钥文件以在我的应用程序中使用它。但是当执行下面代码片段的最后一行时,我收到以下异常:
用户代码
HResult=-2146233088 Message=Google.Apis.Requests.RequestError Unauthorized 未处理 Google.GoogleApiException。[403] 错误 [ 消息 [未经授权。] 位置 [ - ] 原因 [禁止] 域 [全局]]
这是应该在服务器机器(后端)上运行的代码:
X509Certificate2 certificate = new X509Certificate2(@"key.p12",
"notasecret", X509KeyStorageFlags.Exportable);
var credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer("MyServiceId@focal-baton-55555.iam.gserviceaccount.com")
{
Scopes = new[] { "https://www.googleapis.com/auth/userlocation.beacon.registry" },
}.FromCertificate(certificate));
var beacon = new Google.Apis.Proximitybeacon.v1beta1.Data.Beacon();
var beaconServices = new ProximitybeaconService(new BaseClientService.Initializer
{
ApplicationName = "My SampleProject",
HttpClientInitializer = credential
});
var result = await beaconServices.Beacons.List().ExecuteAsync();
我花了几个小时,但我根本无法得出任何结论。在这种情况下我缺少什么以及如何解决问题?