Il s'agit d'une API qui correspond à la version 4 de l'API Sheets de Google pour la plupart. Donc, si vous souhaitez la documentation sur la façon d'utiliser cette API, vous devez plutôt consulter son API et utiliser les liaisons C #. Il existe également une couche de haut niveau plus petite sur le dessus, ce qui est utile pour les personnes qui ont juste besoin d'accéder aux données à partir d'un réseau 2D.
Une classe SheetSerializer abstraite existe afin que vous puissiez utiliser n'importe quel sérialiseur JSON que vous souhaitez.
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 ) ;
}
} Les exigences de l'utilisation de l'API Google Sheets sont d'avoir le SpreadsheneTID et un jeton d'accès. Le calcul de calcul peut être récupéré à partir d'une URL. Vous devrez également fournir la propriété SheetsSerializer.Serializer avec votre propre objet sérialiseur.
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}
Le jeton API peut être créé à partir de la console Google API, pour plus d'informations à ce sujet, visitez cet article de 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 ) ;
}
}
} Si vous souhaitez utiliser l'API de bas niveau, vous pouvez utiliser la méthode GetRaw() au lieu de Get() . L'alternative de la méthode brute donnera un objet SpreadsheetRaw , qui est identique à la référence de l'API Google.
Si vous souhaitez travailler avec le niveau bas et le niveau élevé, vous pouvez créer une feuille de calcul à partir de la feuille de calcul de bas niveau en la transmettant dans le constructeur. La même chose peut être fait pour convertir une feuille brute en une feuille de haut niveau. Cela ne peut pas être fait l'inverse, et c'est par conception.
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 ) ; Deux façons d'autoriser sont mises en œuvre. Utilisation de l'ID client OAuth et du secret client, ou en utilisant une clé fournie à partir de la console de développeur Google.
string key = "" ;
Authorizer authorizer = await Authorizer . Authorizer ( key ) ; string clientId = "" ;
string clientSecret = "" ;
Authorizer authorizer = await Authorizer . Authorize ( clientId , clientSecret ) ;Remarque: la modification des appels nécessite une autorisation OAuth
new SheetSerializer() ? Parce qu'il s'agit d'une classe abstraite et que vous devez faire votre propre implémentation de cette classe.