Ini adalah API yang cocok dengan versi 4 dari Google Sheets API untuk sebagian besar. Jadi, jika Anda ingin dokumentasi tentang cara menggunakan API ini, Anda harus berkonsultasi dengan API mereka, dan menggunakan ikatan C#. Ada juga lapisan tingkat tinggi yang lebih kecil di atas, yang berguna bagi orang yang hanya perlu mengakses data dari array 2D.
Kelas abstrak SheetSserializer ada sehingga Anda dapat menggunakan serializer JSON yang Anda inginkan.
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 ) ;
}
} Persyaratan untuk menggunakan API Google Sheets, adalah memiliki spreadsheetid dan token akses. Spreadsheetid dapat diambil dari URL. Anda juga perlu menyediakan properti SheetsSerializer.Serializer dengan objek Serializer Anda sendiri.
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}
Token API dapat dibuat dari konsol API Google, untuk info lebih lanjut tentang ini, kunjungi artikel ini oleh 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 ) ;
}
}
} Jika Anda ingin menggunakan API tingkat rendah, Anda dapat menggunakan metode GetRaw() alih -alih Get() . Alternatif metode mentah akan memberikan objek SpreadsheetRaw , yang identik dengan referensi Google API.
Jika Anda ingin bekerja dengan level rendah dan tingkat tinggi, Anda dapat membuat spreadsheet dari spreadsheet level rendah dengan memasukkannya ke konstruktor. Hal yang sama dapat dilakukan untuk mengonversi lembaran mentah ke lembar tingkat tinggi. Ini tidak dapat dilakukan sebaliknya, dan dengan desain.
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 ) ; Dua cara untuk mengesahkan diterapkan. Menggunakan ID Klien OAuth dan Rahasia Klien, atau menggunakan kunci yang disediakan dari Google Developer Console.
string key = "" ;
Authorizer authorizer = await Authorizer . Authorizer ( key ) ; string clientId = "" ;
string clientSecret = "" ;
Authorizer authorizer = await Authorizer . Authorize ( clientId , clientSecret ) ;Catatan: Memodifikasi panggilan memerlukan otorisasi oAuth
new SheetSerializer() ? Karena ini adalah kelas abstrak, dan Anda harus membuat implementasi kelas ini sendiri.