如何将我的 MAUI 应用连接到 Firestore 数据库? (通过服务帐户 json 文件)

2023-12-26

创建一个 MAUI 应用程序并尝试将其连接到 Firestore。我正在跟进这里的建议 https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Firestore/latest下载服务帐户 JSON 文件并设置GOOGLE_APPLICATION_CREDENTIALS环境变量。

我从我的 firebase 项目在线下载了我的服务文件,将其重命名为GoogleAppCredentials.json,然后将其包含在我的 MAUI 项目中使用构建操作“MauiAsset” https://stackoverflow.com/questions/70442638/how-do-i-read-a-deployed-file-in-maui-xamarin-on-android像这样:

然后我的 cs 文件引用该文件:

string path = "GoogleAppCredentials.json";
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", path);

但是当我在 Android 模拟器上运行该应用程序时,出现以下错误:

System.AggregateException
  Message=One or more errors occurred. (Error reading credential file from location GoogleAppCredentials.json: Could not find file '/GoogleAppCredentials.json'.
Please check the value of the Environment Variable GOOGLE_APPLICATION_CREDENTIALS)

在 Windows 机器上...

System.AggregateException
  Message=One or more errors occurred. (Error reading credential file from location GoogleAppCredentials.json: Could not find file 'C:\WINDOWS\system32\GoogleAppCredentials.json'.
Please check the value of the Environment Variable GOOGLE_APPLICATION_CREDENTIALS)

那么对于 MAUI,我如何正确复制GoogleAppCredentials.json进入应用程序(如果不是 MauiAsset,还有什么?),然后在.cs file?


创建一个 MAUI 应用程序并尝试将其连接到 Firestore。我正在跟进这里的建议 https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Firestore/latest下载服务帐户 JSON 文件并设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量。

该.NET 客户端用于后端服务。您可以安装它并且它可以开始运行,但它们设计用于 Google Cloud 环境中的 .net 服务。

MAUI 是一个多目标项目,它增加了保存项目中所有代码库的能力,而不是像在 Xamarin 中那样为每个平台添加单独的项目。多目标项目窃取是针对具有平台绑定的特定平台工件构建的。例如,net6.0-android包括与所有标准 Android 生态系统的 Android 绑定。

要与 Firebase Firestore 集成,您需要使用 Android 指南和库:Xamarin.Firebase.Firestore 并使用 GoogleServicesJson 构建操作配置 google-services.json,但在 MAUI 中,您需要在 Platform/Andoroid 位置执行此操作。

我的 csproj 包含此配置

<ItemGroup>
    <None Remove="Platforms\Android\google-services.json" />
</ItemGroup>
<ItemGroup>
    <GoogleServicesJson Include="Platforms\Android\google-services.json" />
</ItemGroup>

对于我的项目,我不以 WinUI 为目标,因此我使用此库来访问 Firestore插件.CloudFirestore https://www.nuget.org/packages/Plugin.CloudFirestore/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将我的 MAUI 应用连接到 Firestore 数据库? (通过服务帐户 json 文件) 的相关文章

随机推荐

  • 使用 Scala 读取 Excel 文件

    我正在编写一个快速测试 使用电子表格中的数据注册用户 想法是转到网站 gt 单击注册 gt 读取Excel行A1和B1的电子邮件和密码 gt 在注册网站上使用此数据 gt 完成注册 gt 注销 gt 使用A2和B2行中的信息注册新用户 gt
  • UICollectionView不显示图片[重复]

    这个问题在这里已经有答案了 我正在显示所有目录中的图片 但是它不显示图片 我将 NSLog 放入代码中 以便我可以找出哪些代码正在运行 并且我只在日志中得到 j 我在日志中没有看到 a 你觉得哪里不对 void viewDidLoad su
  • 更新 Spacy 的内置 NER 模型而不是覆盖

    我正在使用 Spacy 的内置模型en core web lg并想使用我的自定义实体来训练它 在这样做的同时 我面临两个问题 它会用旧数据覆盖新的训练数据 并导致无法识别其他实体 例如 训练之前 它可以识别 PERSON 和 ORG 但是训
  • importxml google 电子表格 - 新 Google 表格中出现“无法解析 xml 内容”错误

    我试图从谷歌电子表格上的链接获取一些详细信息 Link http www justdial com Gurgaon Travel Agents ct 302 http www justdial com Gurgaon Travel Agen
  • Silverlight 3 中的剪贴板支持

    我正在考虑开发一个在 DataGrid 中显示大量信息的 Silverlight 应用程序 我希望以某种方式让用户能够通过剪贴板将其复制到 Excel 中 这在 Silverlight 3 中可能实现吗 不可以 SL3 中不提供此功能 请阅
  • 我需要在 BlackBerry Webworks 应用程序中嵌入 > 4MB 的内容文件(适用于 BlackBerry 6/7)。我有什么选择?

    我正在开发一个内容丰富的 Webworks 应用程序 为了使应用程序有用 它需要维护一个本地内容数据库 SQL 形式大约 4MB 进一步减少数据库的唯一方法是删除整个内容类别 我最初的想法是 我将 SQL 文件嵌入到应用程序中 就像 CSS
  • 如何以编程方式滚动到 WinRT 中文本框的底部?

    我正在为 WinRT 编写一个简单的应用程序 但我无法找到一种在代码中自动滚动到文本框底部的方法 我正在将日志信息写入文本框 并希望它滚动 以便最新的条目在框中可见 但似乎没有任何效果 以下是我尝试过的一些事情 将文本框放置在 Scroll
  • Kafka - 代理:消息大小太大

    I get Message size too large当我尝试发送超过 1 Mb 大小的消息时出现异常 当我尝试生成消息时 该错误出现在我的客户端应用程序中 经过一番谷歌搜索后 我发现应该更改设置以增加最大消息大小 嗯 我在 kafka
  • Popover segue 到静态单元 UITableView 导致编译错误

    我目前有一个带有两个视图控制器的应用程序 第一个是具有嵌入式表视图的视图控制器 该表视图具有动态单元格 第二个是带有静态单元格的表视图控制器 如果我通过选择动态表的单元格之一将 Segue 添加到静态表视图控制器 使用 Push 或 Mod
  • 在 Netbeans 中更快地搜索文件

    是否有现有的插件或调整可以加速 Netbeans 中的 转到文件 搜索 与 Eclipse 相比 Netbeans 搜索速度太慢 特别是如果有多个大型项目 I know I can use CTRL O for Go To Type but
  • fopen什么时候会失败?

    在我的 PHP 代码中 我打开一个文件并向其中附加文本 我使用这段代码 ourFileHandle fopen ourFileName a or die can t open file 当加载 PHP 页面时会发生这种情况 现在如果两个人同
  • 如何从程序中删除日志调试语句

    我在用boost log作为我的 C 程序的记录器 在开发过程中我经常这样使用它 例如 define LOG severity BOOST LOG SEV boost logger get severity define LOG ERR L
  • 学习嵌入式编程的最佳平台? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我可以在生产中使用 IOSurface 框架录制屏幕吗

    如果我使用 IOSurface 框架制作我的应用程序的视频 苹果会拒绝我的应用程序吗 是的 如果您链 接 IOSurface Apple 将拒绝您的应用程序 商店中的一些项目正在使用它 但他们可能会在运行时加载它 iOS 应用 Displa
  • Swift 2 将 Json 解析为数组的可选

    我正在从网络服务获取国家 地区列表 收到后我用这段代码来处理它 if let json try NSJSONSerialization JSONObjectWithData data options as NSDictionary trig
  • 在 AWS Step Functions 中,可以使用静态字符串格式化参数值吗?

    在 AWS Step Functions 中 我们可以使用以下语法将之前步骤中的参数用作输入 Parameters Details weight product weight unit grams 举个例子 说product weight
  • Swift 中的 PerformSelector 的替代品?

    The performSelector方法族在 Swift 中不可用 https developer apple com library prerelease ios documentation swift conceptual build
  • SQLSTATE[HY000]:一般错误:Laravel 发生 2053 错误

    首先 我的环境是LAMP M代表MariaDB 整个错误是 SQLSTATE HY000 General error 2053 SQL UPDATE Demos SET Hit ifnull Hit 0 1 WHERE id 27 模型中的
  • 以与 SSISDB 不同的用户身份执行 SSIS 包

    我们要求用户使用代理帐户并引用输入参数来执行 SSIS 包 下面演示了用于调用包执行的语法 DECLARE ExportID INT 1 DECLARE ExecutionID INT EXECUTE AS proxy account EX
  • 如何将我的 MAUI 应用连接到 Firestore 数据库? (通过服务帐户 json 文件)

    创建一个 MAUI 应用程序并尝试将其连接到 Firestore 我正在跟进这里的建议 https cloud google com dotnet docs reference Google Cloud Firestore latest下载