sheets
0.4
這是一個與Google Sheets API的版本4相匹配的API。因此,如果您想了解如何使用此API的文檔,則必須諮詢其API,並使用C#綁定。頂部還有一個較小的高級層,這對於只需要從2D數組訪問數據的人很有用。
存在一個抽象的SheetSerializer類,因此您可以使用任何想要的JSON序列化器。
using UnityEngine ;
public class JSONSerializer : SheetsSerializer
{
public override T DeserializeObject < T > ( string data )
{
return JsonUtility . FromJson < T > ( data ) ;
}
public override string SerializeObject ( object data )
{
return JsonUtility . ToJson ( data ) ;
}
} using Newtonsoft . Json ;
public class JSONSerializer : SheetsSerializer
{
public override T DeserializeObject < T > ( string data )
{
return JsonConvert . DeserializeObject < T > ( data ) ;
}
public override string SerializeObject ( object data )
{
return JsonConvert . SerializeObject ( data ) ;
}
} 使用Google表API的要求是具有電子表格和訪問令牌。可以從URL檢索電子表格。您還需要為SheetsSerializer.Serializer提供serializer屬性,並帶有您自己的序列化器對象。
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}
可以從Google API控制台創建API令牌,有關此信息,請訪問Google這篇文章
public async void Start ( )
{
SheetsSerializer . Serializer = new SheetsSerializer ( ) ; //TODO: Create your own custom serializer/deserializer
string spreadsheetId = "" ; //TODO: Get your own spreadsheetId
string key = "" ; //TODO: Get your own key token
Authorization authorization = await Authorization . Authorize ( key ) ;
Spreadsheet spreadsheet = await Spreadsheet . Get ( spreadsheetId , authorization ) ;
Debug . Log ( "URL: " + spreadsheet . URL ) ;
Debug . Log ( "Title: " + spreadsheet . Title ) ;
Sheet sheet = spreadsheet . Sheets [ 0 ] ;
Debug . Log ( "Rows: " + sheet . Rows ) ;
Debug . Log ( "Columns: " + sheet . Columns ) ;
Cell [ , ] data = sheet . Data ;
for ( int x = 0 ; x < sheet . Columns ; x ++ )
{
for ( int y = 0 ; y < sheet . Rows ; y ++ )
{
Debug . Log ( data [ x , y ] . Value ) ;
}
}
}如果您想使用低級API,則可以使用GetRaw()方法而不是Get() 。原始方法替代方案將給出一個與Google API參考相同的SpreadsheetRaw對象。
如果您想同時使用低水平和高級別,則可以通過將其傳遞到構造函數中創建一個從低級別的電子表格創建電子表格。可以將原始紙轉換為高級床單也可以做同樣的事情。這不能以相反的方式及其設計。
SheetsSerializer . Serializer = new SheetsSerializer ( ) ;
string key = "" ; //TODO: Get a key
Authorization authorization = await Authorization . Authorize ( key ) ;
SpreadsheetRaw raw = await SpreadsheetRaw . Get ( spreadsheetId , token , includeGridData ) ;
Spreadsheet spreadsheet = await Spreadsheet . Get ( spreadsheetId , token , serializer ) ;
//create a new spreadsheet from the raw data
Spreadsheet spreadsheetConverted = new Spreadsheet ( raw ) ; 實施了兩種授權方法。使用OAUTH客戶端ID和客戶端秘密,或使用Google開發人員控制台提供的提供的密鑰。
string key = "" ;
Authorizer authorizer = await Authorizer . Authorizer ( key ) ; string clientId = "" ;
string clientSecret = "" ;
Authorizer authorizer = await Authorizer . Authorize ( clientId , clientSecret ) ;注意:修改呼叫需要OAuth授權
new SheetSerializer() ?因為這是一個抽像類,因此您必須自己對此課程進行實施。