【发布时间】:2021-02-10 12:19:00
【问题描述】:
我正在关注 official Google docs 从 Android 应用 (Xamarin) 访问 Firestore。每次我尝试访问 firestore 时,都会出现以下异常:
System.InvalidOperationException:应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。请参阅https://developers.google.com/accounts/docs/application-default-credentials/ 了解更多信息。
例外情况很明显。我必须设置环境变量。所以我运行了以下 PowerShell 命令:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:/Foo/Bar/google-services.json"
那没用。也许 json 文件必须在 Android 设备上。我将 json 文件设置为“嵌入式内容”,并在访问数据库之前将以下行插入应用程序(使用 System,使用 System.IO):
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", Path.Combine(Environment.CurrentDirectory, @"../../Firestore/google-services.json"));
这将异常更改为“路径无效”。如何获取 json 文件的路径?这是我的层次结构:
【问题讨论】:
标签: java c# android xamarin google-cloud-firestore