Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将xamarin android应用连接到Cloud Firestore数据库

如何将xamarin android应用连接到Cloud Firestore数据库
EN

Stack Overflow用户
提问于 2019-03-08 12:07:23
回答 1查看 895关注 0票数 1

我已经尝试了许多方法,比如在几个网站上,但没有成功,我试图使用Google.Cloud.FirestoreGoogle.Apis.Storage.v1 Nuget包连接它。代码如下所示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Google.Cloud.Firestore.FirestoreDb db = Google.Cloud.Firestore.FirestoreDb.Create("test");
        CollectionReference collection = db.Collection("users");
        DocumentReference document = await collection.AddAsync(new { email = "xamemail@12", name = "xamemail" });

当我尝试这段代码时,出现了一个异常,比如环境变量GOOGLE_APPLICATION_CREDENTIALS未设置,然后我在windows系统和代码中设置了GOOGLE_APPLICATION_CREDENTIALS,如下所示。

System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", @"C:\\path-to-json", EnvironmentVariableTarget.Machine);

它显示了另一个错误,该文件未在路径中找到,但它就在那里,我设置了该路径的权限。

如果有人在这方面提供帮助,有没有人已经在你的项目中使用了xamarin - cloud firestore db?

请注意,这不是firebase实时数据库,我能够连接它。

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 20:26:45

据我所知,你不能在设备上的应用程序中使用默认凭据(GOOGLE_APPLICATION_CREDENTIALS),因为它无法找到位于你PC上的文件的路径。我已经找到了这段代码,我认为它应该可以工作(但到目前为止,我还没有成功地使用它-我得到了一个exeption,所以我希望我的答案可以帮助激励其他人找到解决方案)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using Google.Cloud.Firestore;
using Google.Cloud.Firestore.V1;
using Google.Apis.Auth.OAuth2;
using Grpc.Auth;
using Grpc.Core;

...    

//First Pack your Jason fil into a Jason string. 
//Fore security reasons I'm not sure this is a good idea, but it is what I could think of
string jsonCred = @”{ Your Json cred file  (Replace “ with) };

// Get you credential. As far as I have understood it must be scoped.
var credential = GoogleCredential.FromJson(jsonCred).CreateScoped(FirestoreClient.DefaultScopes);

// Create a channel and add the channel to the Firestore client
Channel channel = new Channel(FirestoreClient.DefaultEndpoint.Host, FirestoreClient.DefaultEndpoint.Port, credential.ToChannelCredentials());
FirestoreClient client = FirestoreClient.Create(channel);

// Then I think it should be possible to call.
FirestoreDb db = FirestoreDb.Create(projectId, client);

但到目前为止,我在队伍中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FirestoreClient client = FirestoreClient.Create(channel):

我得到了这个例外:

System.TypeLoadException:在C:\Users\rad\Documents\Xamarin projects\Padlelogg 2.10\Padlelogg\Data\DataHandler.cs:360 }位置的T:\src\github\google-cloud-dotnet\releasebuild\apis\Google.Cloud.Firestore.V1\Google.Cloud.Firestore.V1\FirestoreClient.cs:622中,Google.Cloud.Firestore.V1.FirestoreClientImpl类型的VTable安装失败(Grpc.Core.Channel频道,Google.Cloud.Firestore.V1.FirestoreSettings设置) 0x0000c

这个例外我到目前为止还没能解决。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55062933

复制
相关文章
VFP的过程或函数如何接收数组参数或返回一数组结果?
这里要注意二个方面,1、过程或函数中,必须定义一个全局数据 public ,2、RETURN 必须加@,这个小老鼠。也是地址引用返回值。
加菲猫的VFP
2021/08/12
3.3K0
mybatis返回对象_存储过程不能返回结果
在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map”) ,如果是多条数据则返回一个List<Map<String, Object>>结果集。
全栈程序员站长
2022/11/09
1.8K0
mybatis返回对象_存储过程不能返回结果
REST API返回结果对象设计
基于REST API的项目返回的数据结构题都是统一的,这样方便接口对接和使用。因此,对结果对象的设计会有一定的要求:
程序新视界
2021/12/07
1K0
vuex 监听数组或对象
store.js /* * @Author: Zheng Lei * @Email: baimoc@163.com * @Date: 2020-06-14 09:47:03 * @LastEditTime: 2021-08-12 17:20:02 * @FilePath: \EmAtlas\src\store.js */ import Vue from 'vue' import Vuex from "vuex" Vue.use(Vuex); export default new Vuex.S
白墨石
2021/08/18
4390
构造方法或new返回该对象
一个小技巧,调用构造方法或都new返回该对象: function Person(){ // ... // 不是new的时候this指向的是调用者 默认是window if (!(this instanceof Person)) { return new Person(); } } Person.prototype.sayHello = function (){ console.log("Hello World!"); } var lufei = Person(); lufe
kai666666
2020/10/17
7280
Fastjson 对象或数组转JSON
w3cshool:https://www.w3cschool.cn/fastjson/ Fastjson对象或数组转JSON :https://www.w3cschool.cn/fastjson/fastjson-ex1.html
全栈程序员站长
2022/09/10
2.2K0
Php如何返回json数据(返回json对象或json格式数据)
header(‘Content-Type:application/json; charset=utf-8’);
超级小可爱
2023/02/20
17K0
Authors数组或集合返回自动生成的主键
如果你的数据库还支持多行插入, 你也可以传入一个Authors数组或集合,并返回自动生成的主键。
用户8983410
2021/10/07
9960
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2022-06-08:找到非负数组中拥有"最大或的结果"的最短子数组,返回最短长度。
福大大架构师每日一题
2023/06/08
4360
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2022-06-08:找到非负数组中拥有"最大或的结果"的最短子数组,返回最短长度。
福大大架构师每日一题
2022/06/08
1K0
2022-06-08:找到非负数组中拥有“最大或的结果“的最短子数组,返回最短长度。
2021-05-13:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,返回arr的最大子数组异或和。
2021-05-13:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,返回arr的最大子数组异或和。
福大大架构师每日一题
2021/08/05
4210
数组或对象中的内容间隔显示
总结:间隔显示,不要使用for 循环,原因是for循环是同步,setTimeout是异步,同步执行完再执行异步。
tianyawhl
2019/11/07
4.3K0
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。
2021-05-14:给定一个数组arr,想知道arr中哪两个数的异或结果最大。返回最大的异或结果。
福大大架构师每日一题
2021/08/05
8700
mybatis返回结果处理
当查询的记录条数是多条的时候,必须使用集合接收。如果使用单个实体类接收会出现异常。如果返回的是一条记录可以用集合接收
一个风轻云淡
2023/10/15
2310
mybatis返回结果处理
javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
如上,arr的修改,会影响arr2的值,这显然在绝大多数情况下,并不是我们所需要的结果。 因此,数组以及对象的深拷贝就是javascript的一个基本功了。
FungLeo
2022/05/05
3.1K0
javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
MongoDB中如何返回数组对象中第一个对象
在使用MongoDB数据库时,为了减少关联操作,我们通常采用嵌套模型,数组对象是比较常见,例如商品的评论、关注好友等,通常返回前面N条或者第一条之类来减少网络流量(所有历史消息意义可能不大).另外就是单个有16M的限制,此时可能采用连接方式,将部分信息存储在另外一个集合中。最近刚好遇到一个find需求,针对结果集的数组只返回第一条元素。我们知道MongoDB针对数组操作符非常丰富。接下来主要介绍,elemMatch,
徐靖
2022/09/22
12.7K0
php json_encode()函数返回对象和数组问题
php json_encode() 函数格式化数据时会根据不同的数组类型格式化不同类型的json数据
码缘
2019/09/11
3.7K0
mybatis返回结果类型(resulttype返回list)
这样设置返回类型为resultClass=”java.util.HashMap”,查询时执行queryForList
全栈程序员站长
2022/08/01
5.7K0
或对,或错?
公号许久没更文了,这段时间以来,自己在面临着一些抉择。未曾想过,毕业后一个月考虑的事情比大学四年加起来的还要多。也许是大学过得太安逸了,欠的债全部攒到毕业后来还。
Python技术与生活认知的分享
2018/09/30
4680
或对,或错?
SpringBoot统一返回结果
在后台开发时,控制台得到的数据格式会有不同,这时我们需要设置统一返回结果,方便我们分析数据以及对数据进行管理。
算法与编程之美
2022/05/23
9340
SpringBoot统一返回结果

相似问题

Powershell在pscustomobject中展开结果数组

10

Powershell数组或对象

30

如何在powershell数组中展开对象值

12

PowerShell -展开组-对象

135

从C#发送Powershell并从结果返回数组对象?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文