简体   繁体   中英

How to read data from Google spreadsheet in xamarin.forms

I am searching for a way to read/write data from Google Sheets directly. Does anyone have an idea how to do that in Xamarin.Forms ?

Keep in your mind access Google sheets from Windows Form working fine with me using Install-Package Google.Apis.Sheets.v4 Package.

I Used the following link:

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

Reading & writing data on spread sheet is not an easy thing. I would suggest you go with WebView that might solve you issues. Here you might found some clue to do so

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

& here on Google.Apis.Sheets.v4 API's are

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

& Spreadsheets with C#

Accessing Google Spreadsheets with C# using Google Data API

I created the following Solution and it is working fine for me:

You Need to use JSON result from Google sheet, try to use the following steps:

1-Publish a google sheet to get an API link that returns JSON , like the following Sheet:

https://spreadsheets.google.com/feeds/list/1opP1t_E9xfuLXBkhuyzo5j9k_xBNDx0XKb31JwLP1MM/1/public/values?alt=json

2-You need to generate C# Classes from JSON , maybe you are able to use http://json2csharp.com To get the C# Classes and the RootObject .

3- Add The following Code:

   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);

From the root object, you will be able to access any cell value on the Google sheet.

Despite the fact that it really isn't a good idea to use Google Sheets as your online database, there are many better alternatives, if you want to access it from a Xamarin Forms app you can do it using the Sheets API

Sheets API documentation here

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM