이것은 대부분 Google 시트 API의 버전 4와 일치하는 API입니다. 따라서이 API를 사용하는 방법에 대한 문서를 원한다면 대신 API를 참조하고 C# 바인딩을 사용해야합니다. 상단에는 더 작은 높은 레벨 레이어가있어 2D 배열에서 데이터에 액세스 해야하는 사람들에게 유용합니다.
Abstract Sheetsserializer 클래스가 존재하여 원하는 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 Sheets API 사용에 대한 요구 사항은 스프레드 시트와 액세스 토큰을 갖는 것입니다. 스프레드 시드는 URL에서 검색 할 수 있습니다. 또한 SheetsSerializer.Serializer 속성에 자신의 시리얼 라이저 객체를 제공해야합니다.
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}
API 토큰은 Google 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를 사용하려면 Get() 대신 GetRaw() 메소드를 사용할 수 있습니다. RAW Method 대안은 SpreadsheetRaw 객체를 제공하는데, 이는 Google API 참조와 동일합니다.
낮은 레벨과 높은 레벨과 함께 작업하려면 생성자로 전달하여 저수준 스프레드 시트에서 스프레드 시트를 만들 수 있습니다. 원시 시트를 높은 레벨 시트로 변환하기 위해 동일하게 수행 할 수 있습니다. 이것은 다른 방식으로, 그리고 디자인으로 할 수 없습니다.
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() 할 수없는 이유는 무엇입니까? 그것은 추상적 인 클래스이기 때문에, 당신은이 클래스를 직접 구현해야합니다.