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() ?因为这是一个抽象类,因此您必须自己对此课程进行实施。