Class GoogleSheets
Provides an interface for syncing localization data to a Google Sheet.
Namespace: UnityEditor.Localization.Plugins.Google
Syntax
public class GoogleSheets
Constructors
GoogleSheets(IGoogleSheetsService)
Creates a new instance of a GoogleSheets connection.
Declaration
public GoogleSheets(IGoogleSheetsService provider)
Parameters
| Type | Name | Description |
|---|---|---|
| IGoogleSheetsService | provider | The Google Sheets service provider. See SheetsServiceProvider for a default implementation. |
Properties
SheetsService
The sheets provider is responsible for providing the SheetsService and configuring the type of access. SheetsServiceProvider.
Declaration
public IGoogleSheetsService SheetsService { get; }
Property Value
| Type | Description |
|---|---|
| IGoogleSheetsService |
SpreadSheetId
The Id of the Google Sheet. This can be found by examining the url: https://docs.google.com/spreadsheets/d/>SpreadsheetId/edit#gid=SheetId Further information can be found here.
Declaration
public string SpreadSheetId { get; set; }
Property Value
| Type | Description |
|---|---|
| String |
Methods
AddSheet(String, NewSheetProperties)
Creates a new sheet within the Spreadsheet with the id SpreadSheetId.
Declaration
public int AddSheet(string title, NewSheetProperties newSheetProperties)
Parameters
| Type | Name | Description |
|---|---|---|
| String | title | The title for the new sheet |
| NewSheetProperties | newSheetProperties |
Returns
| Type | Description |
|---|---|
| Int32 | The new sheet id. |
CreateSpreadsheet(String, String, NewSheetProperties, ITaskReporter)
Creates a new Google Spreadsheet.
Declaration
public (string spreadSheetId, int sheetId) CreateSpreadsheet(string spreadSheetTitle, string sheetTitle, NewSheetProperties newSheetProperties, ITaskReporter reporter = null)
Parameters
| Type | Name | Description |
|---|---|---|
| String | spreadSheetTitle | The title of the Spreadsheet. |
| String | sheetTitle | |
| NewSheetProperties | newSheetProperties | |
| ITaskReporter | reporter | Optional reporter to display the progress and status of the task. |
Returns
| Type | Description |
|---|---|
| ValueTuple<String, Int32> | Returns the new Spreadsheet and sheet id. |
ExecuteRequest<TResponse, TClientServiceRequest>(TClientServiceRequest)
Declaration
protected virtual TResponse ExecuteRequest<TResponse, TClientServiceRequest>(TClientServiceRequest req)
where TClientServiceRequest : ClientServiceRequest<TResponse>
Parameters
| Type | Name | Description |
|---|---|---|
| TClientServiceRequest | req |
Returns
| Type | Description |
|---|---|
| TResponse |
Type Parameters
| Name | Description |
|---|---|
| TResponse | |
| TClientServiceRequest |
ExecuteRequestAsync<TResponse, TClientServiceRequest>(TClientServiceRequest)
Declaration
protected virtual Task<TResponse> ExecuteRequestAsync<TResponse, TClientServiceRequest>(TClientServiceRequest req)
where TClientServiceRequest : ClientServiceRequest<TResponse>
Parameters
| Type | Name | Description |
|---|---|---|
| TClientServiceRequest | req |
Returns
| Type | Description |
|---|---|
| Task<TResponse> |
Type Parameters
| Name | Description |
|---|---|
| TResponse | |
| TClientServiceRequest |
GetColumnTitles(Int32)
Returns all the column titles(values from the first row) for the selected sheet inside of the Spreadsheet with id SpreadSheetId.
Declaration
public IList<string> GetColumnTitles(int sheetId)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sheetId | The sheet id. |
Returns
| Type | Description |
|---|---|
| IList<String> | All the |
GetRowCount(Int32)
Returns the total number of rows in the sheet inside of the Spreadsheet with id SpreadSheetId.
Declaration
public int GetRowCount(int sheetId)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sheetId | The sheet to get the row count from. |
Returns
| Type | Description |
|---|---|
| Int32 | The row count for the sheet. |
GetRowCountAsync(Int32)
Asynchronous version of GetRowCount(Int32)
Declaration
public Task<int> GetRowCountAsync(int sheetId)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sheetId | The sheet to get the row count from |
Returns
| Type | Description |
|---|---|
| Task<Int32> | The row count for the sheet. |
GetSheets()
Returns a list of all the sheets in the Spreadsheet with the id SpreadSheetId.
Declaration
public List<(string name, int id)> GetSheets()
Returns
| Type | Description |
|---|---|
| List<ValueTuple<String, Int32>> | The sheets names and id's. |
OpenSheetInBrowser(String)
Opens the spreadsheet in a browser.
Declaration
public static void OpenSheetInBrowser(string spreadSheetId)
Parameters
| Type | Name | Description |
|---|---|---|
| String | spreadSheetId |
OpenSheetInBrowser(String, Int32)
Opens the spreadsheet with the sheet selected in a browser.
Declaration
public static void OpenSheetInBrowser(string spreadSheetId, int sheetId)
Parameters
| Type | Name | Description |
|---|---|---|
| String | spreadSheetId | |
| Int32 | sheetId |
PullIntoStringTableCollection(Int32, StringTableCollection, IList<SheetColumn>, Boolean, ITaskReporter, Boolean)
Pulls data from the Spreadsheet with id SpreadSheetId and uses columnMapping
to populate the collection.
Declaration
public void PullIntoStringTableCollection(int sheetId, StringTableCollection collection, IList<SheetColumn> columnMapping, bool removeMissingEntries = false, ITaskReporter reporter = null, bool createUndo = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sheetId | The sheet(Spreadsheet tab) to pull the data from. |
| StringTableCollection | collection | The collection to insert the data into. |
| IList<SheetColumn> | columnMapping | The column mappings control what data will be extracted for each column of the sheet. The list must contain 1 IPullKeyColumn. |
| Boolean | removeMissingEntries | After a pull has completed any keys that exist in the |
| ITaskReporter | reporter | Optional reporter to display the progress and status of the task. |
| Boolean | createUndo | Should an Undo be recorded so any changes can be reverted? |
PushStringTableCollection(Int32, StringTableCollection, IList<SheetColumn>, ITaskReporter)
Extracts data from collection using columnMapping and sends it to the sheet
inside of the Spreadsheet with id SpreadSheetId.
Declaration
public void PushStringTableCollection(int sheetId, StringTableCollection collection, IList<SheetColumn> columnMapping, ITaskReporter reporter = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sheetId | The sheet(Spreadsheet tab) to insert the data into. |
| StringTableCollection | collection | The collection to extract the data from. |
| IList<SheetColumn> | columnMapping | The column mappings control what data will be extracted for each column of the sheet. The list must contain 1 KeyColumn. |
| ITaskReporter | reporter | Optional reporter to display the progress and status of the task. |
PushStringTableCollectionAsync(Int32, StringTableCollection, IList<SheetColumn>, ITaskReporter)
Asynchronous version of PushStringTableCollection(Int32, StringTableCollection, IList<SheetColumn>, ITaskReporter)
Declaration
public Task PushStringTableCollectionAsync(int sheetId, StringTableCollection collection, IList<SheetColumn> columnMapping, ITaskReporter reporter = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | sheetId | The sheet(Spreadsheet tab) to insert the data into. |
| StringTableCollection | collection | The collection to extract the data from. |
| IList<SheetColumn> | columnMapping | The column mappings control what data will be extracted for each column of the sheet. The list must contain 1 KeyColumn. |
| ITaskReporter | reporter | Optional reporter to display the progress and status of the task. |
Returns
| Type | Description |
|---|---|
| Task |
SendBatchUpdateRequest(String, Request[])
Declaration
protected virtual BatchUpdateSpreadsheetResponse SendBatchUpdateRequest(string spreadsheetId, params Request[] requests)
Parameters
| Type | Name | Description |
|---|---|---|
| String | spreadsheetId | |
| Request[] | requests |
Returns
| Type | Description |
|---|---|
| BatchUpdateSpreadsheetResponse |
SendBatchUpdateRequest(String, IList<Request>)
Declaration
protected virtual BatchUpdateSpreadsheetResponse SendBatchUpdateRequest(string spreadsheetId, IList<Request> requests)
Parameters
| Type | Name | Description |
|---|---|---|
| String | spreadsheetId | |
| IList<Request> | requests |
Returns
| Type | Description |
|---|---|
| BatchUpdateSpreadsheetResponse |
SendBatchUpdateRequestAsync(String, IList<Request>)
Declaration
protected virtual Task<BatchUpdateSpreadsheetResponse> SendBatchUpdateRequestAsync(string spreadsheetId, IList<Request> requests)
Parameters
| Type | Name | Description |
|---|---|---|
| String | spreadsheetId | |
| IList<Request> | requests |
Returns
| Type | Description |
|---|---|
| Task<BatchUpdateSpreadsheetResponse> |