هذه واجهة برمجة تطبيقات تتطابق مع الإصدار 4 من واجهة برمجة تطبيقات أوراق Google للجزء الأكبر. لذا ، إذا كنت ترغب في توثيق حول كيفية استخدام واجهة برمجة التطبيقات هذه ، فيجب عليك استشارة API بدلاً من ذلك ، واستخدام روابط C#. هناك أيضًا طبقة ذات مستوى عالٍ أصغر في الأعلى ، وهي مفيدة للأشخاص الذين يحتاجون فقط إلى الوصول إلى البيانات من صفيف ثنائي الأبعاد.
توجد فئة مجردة من 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 ، هي الحصول على جدول البيانات ورمز الوصول. يمكن استرداد جدول البيانات من عنوان 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 ) ;
}
}
} إذا كنت ترغب في استخدام واجهة برمجة التطبيقات ذات المستوى المنخفض ، فيمكنك استخدام طريقة GetRaw() بدلاً من Get() . سيعطي البديل للأسلوب الخام كائن 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 وسرية العميل ، أو استخدام مفتاح توفير من وحدة التحكم في Google Developer.
string key = "" ;
Authorizer authorizer = await Authorizer . Authorizer ( key ) ; string clientId = "" ;
string clientSecret = "" ;
Authorizer authorizer = await Authorizer . Authorize ( clientId , clientSecret ) ;ملاحظة: يتطلب تعديل المكالمات إذن OAUTH
new SheetSerializer() ؟ لأنها فئة مجردة ، وعليك أن تقوم بتنفيذ هذا الفصل.