Sushi.Mediakiwi.Module.GoogleSheetsSync
1.0.7
See the version list below for details.
dotnet add package Sushi.Mediakiwi.Module.GoogleSheetsSync --version 1.0.7
NuGet\Install-Package Sushi.Mediakiwi.Module.GoogleSheetsSync -Version 1.0.7
<PackageReference Include="Sushi.Mediakiwi.Module.GoogleSheetsSync" Version="1.0.7" />
paket add Sushi.Mediakiwi.Module.GoogleSheetsSync --version 1.0.7
#r "nuget: Sushi.Mediakiwi.Module.GoogleSheetsSync, 1.0.7"
// Install Sushi.Mediakiwi.Module.GoogleSheetsSync as a Cake Addin #addin nuget:?package=Sushi.Mediakiwi.Module.GoogleSheetsSync&version=1.0.7 // Install Sushi.Mediakiwi.Module.GoogleSheetsSync as a Cake Tool #tool nuget:?package=Sushi.Mediakiwi.Module.GoogleSheetsSync&version=1.0.7
Sushi.Mediakiwi.Module.GoogleSheetsSync
A list module for use in Mediakiwi which allows for synchronizing data with GoogleSheets. This Module can be used in two ways.
1. Using a Google Service Account
This is the easiest and fastest way to get started, this will create a shared SpreadSheet for every user of the module, so every user sees the same data. If you want to use this option, take a look at The needed steps for creating Service Account Credentials
Installation steps
- Download the ServiceAccount credentials file from the Google Cloud API explorer.
- Place this file in the Root of your project and set 'Copy to output directory' to always.
- Add this section to your configuration file (appsettings.json) :
"GoogleSheetsSettings": {
// The relative filename for the ServiceAccount credentials file
"service-account-filename": "sheetsCredentials.json",
},
2. Using Google OpenID
This is the more advanced way of using the module. This will create a SpreadSheet unique for every user of the module. So if User A exports data to a spreadsheet and edits it, User B will not see those changes, because User B also has a personal version of the exported data at hand. If you want to use this option, take a look at The needed steps for creating a Google Open ID
Installation steps
- Add this section to your configuration file (appsettings.json) :
"GoogleSheetsSettings": {
// Get this ClientID from the Google Cloud platform
"client-id": "[GOOGLE-CLIENT-ID]",
// Get this ClientSecret from the Google Cloud platform
"client-secret": "[GOOGLE-CLIENT-SECRET]",
// What is the relative url path to listen to OpenID requests
"handler-path": "/signin-google"
},
- Add these lines to your application startup (Configure) code, before the call to app.UseMediakiwi() :
// Install the OpenID listener (only needed when ClientID and ClientSecret are used)
app.UseGoogleOpenID();
3. Global installation steps
- Add these lines to your services startup (ConfigureServices) code :
// Install all included modules
services.AddGoogleSheetsModules(true, true, true);
This will also create the database table if needed, so the database connectionstring must be known at this point. This can be done with :
MicroORM.DatabaseConfiguration.SetDefaultConnectionString(connString);
Things to note :
- You can also enable only one Module, by setting enableExportModule, enableViewModule or enableImportModule.
- The Import module will only show up if the list has an implementation for the ListDataReceived event.
- The Export module will only show up if the list has the setting for XLS export enabled.
- The View module will only show up when a list has been exported at least once.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Google.Apis.Drive.v3 (>= 1.57.0.2684)
- Google.Apis.Sheets.v4 (>= 1.57.0.2657)
- Sushi.Mediakiwi (>= 8.1.47)
- Sushi.MicroORM (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.