2

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

Mohamad Mahmoud Darwish
  • 3,865
  • 9
  • 51
  • 76
  • It's not "Read", but I wrote an article on how to "Write" to google sheets so you can use it as a way to take feedback from users, and it also has a video https://medium.com/the-kickstarter/storedataingooglesheetsusingxamarin-ed8ba5c4b1bc – Saamer Jan 18 '21 at 02:56

3 Answers3

3

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

R15
  • 13,982
  • 14
  • 97
  • 173
2

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.

Mohamad Mahmoud Darwish
  • 3,865
  • 9
  • 51
  • 76
1

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

Steve Chadbourne
  • 6,873
  • 3
  • 54
  • 82