Ejemplo n.º 1
0
        private async Task DowloadOnlineData(object _)
        {
            var newRawSheetData = await GoogleSheetsV4.GetSheet(apiKey, spreadsheetId, sheetName);

            if (!latestRawSheetData.IsNullOrEmpty())
            {
                foreach (var entry in ParseRawSheetData(FilterForChanges(latestRawSheetData, newRawSheetData)))
                {
                    await fallbackStore.Set(entry.Key, entry.Value);
                }
            }
            else     // Assuming that write is much more expensive then read:
            {
                foreach (var newEntry in ParseRawSheetData(newRawSheetData))
                {
                    var oldEntry = await fallbackStore.Get <object>(newEntry.Key, null);

                    if (!JsonWriter.HasEqualJson(oldEntry, newEntry))
                    {
                        await fallbackStore.Set(newEntry.Key, newEntry.Value);
                    }
                }
            }
            latestRawSheetData = newRawSheetData;
        }
Ejemplo n.º 2
0
        public async Task ExampleUsage1()
        {
            // Get your key from https://console.developers.google.com/apis/credentials
            var exampleApiKey = "AIzaSyCtcFQMgRIUHhSuXggm4BtXT4eZvUrBWN0";
            // E.g. https://docs.google.com/spreadsheets/d/1ixEZ7EkbPNrB5ZiIYL12kL25jKIIIvyz4nZKtqTDqWc
            var spreadsheetId = "1ixEZ7EkbPNrB5ZiIYL12kL25jKIIIvyz4nZKtqTDqWc";
            var sheetName     = "MySheet 1"; // Has to match the sheet name

            Log.d("Will now load " + GoogleSheetsV4.GetShareLinkFor(spreadsheetId));
            Log.d("API request to " + GoogleSheetsV4.GetApiUrlFor(exampleApiKey, spreadsheetId, sheetName));
            var columns = await GoogleSheetsV4.GetSheet(exampleApiKey, spreadsheetId, sheetName);

            Assert.NotEmpty(columns);
            for (int i = 0; i < columns.Count; i++)
            {
                var column = columns[i];
                Assert.NotEmpty(column);
                for (int j = 0; j < column.Count; j++)
                {
                    var entry = column[j];
                    Log.d("entry " + i + "." + j + ": '" + entry + "'");
                }
            }
        }