如何从xamarin.forms中的Google电子表格中读取数据

时间:2018-01-24 22:36:22

标签: c# google-sheets xamarin.forms google-api cross-platform

我正在寻找一种直接从Google Sheets读取/写入数据的方法。有没有人知道如何在 Xamarin.Forms 中做到这一点?

请密切关注Windows窗体中的Google sheets,并使用Install-Package Google.Apis.Sheets.v4程序包与我合作。

我使用了以下链接:

https://developers.google.com/sheets/api/quickstart/dotnet

3 个答案:

答案 0 :(得分:4)

在电子表格上读写数据并非易事。我建议您选择WebView,这可能会解决您的问题。在这里您可能会找到一些线索

https://www.twilio.com/blog/2017/03/google-spreadsheets-and-net-core.html

&此处是Google.Apis.Sheets.v4 API

https://github.com/xamarin/google-apis

和使用C#的电子表格

Accessing Google Spreadsheets with C# using Google Data API

答案 1 :(得分:1)

尽管使用Google表格作为您的在线数据库并不是一个好主意,但是有很多更好的选择,如果您想从Xamarin Forms应用程序访问它,您可以使用Sheets API来实现它

Sheets API documentation here

答案 2 :(得分:1)

我创建了以下解决方案,它对我来说很好用:

您需要使用Google工作表中的 JSON 结果,请尝试使用以下步骤,对于我来说,在 Xamarin.Forms 项目中工作正常:

1-发布一个Google表格以获取返回 JSON API 链接,例如以下https://spreadsheets.google.com/feeds/list/1opP1t_E9xfuLXBkhuyzo5j9k_xBNDx0XKb31JwLP1MM/1/public/values?alt=json

2-您需要从 JSON 生成 C#类,也许您可​​以使用 http://json2csharp.com获取 C#类和RootObject

3-添加以下代码:

   HttpClient client = new HttpClient();
   string URL = "https://spreadsheets.google.com/feeds/list/1opP1t_E9xfuLXBkhuyzo5j9k_xBNDx0XKb31JwLP1MM/1/public/values?alt=json";
   var response = await client.GetAsync(string.Format(url));
   string result = await response.Content.ReadAsStringAsync();
   RootObject root = JsonConvert.DeserializeObject<RootObject>(result);

通过root对象,您可以访问Google表格上的任何单元格值。