تتيح لك واجهة Google Sheets API إنشاء نطاقات مُعنوَنة أو محمية وتعديلها وحذفها. توضّح الأمثلة الواردة في هذه الصفحة كيف يمكنك تنفيذ بعض عمليات "جداول بيانات Google" الشائعة باستخدام واجهة برمجة التطبيقات الخاصة بـ "جداول بيانات Google".
يتم تقديم هذه الأمثلة في شكل طلبات HTTP لتكون محايدة لغويًا. للتعرّف على كيفية تنفيذ تعديل مجمّع بلغات مختلفة باستخدام مكتبات برامج Google API، يمكنك الاطّلاع على تعديل جداول البيانات.
في هذه الأمثلة، يشير العنصران النائبان SPREADSHEET_ID
وSHEET_ID
إلى المكان الذي يجب فيه تقديم أرقام التعريف هذه. يمكنك العثور على رقم تعريف جدول البيانات في عنوان URL الخاص بجدول البيانات. يمكنك الحصول على معرّف جدول البيانات باستخدام الطريقة spreadsheets.get
. يتم تحديد النطاقات باستخدام ترميز A1. مثال على النطاق: الورقة1!A1:D5.
بالإضافة إلى ذلك، يوفّر العنصران النائبان NAMED_RANGE_ID
وPROTECTED_RANGE_ID
أرقام التعريف للنطاقات المسماة والمحمية. يتم استخدام namedRangeId
وprotectedRangeId
عند تقديم طلبات لتعديل النطاقات المرتبطة أو حذفها. يتم عرض رقم التعريف في الردّ على طلب من Sheets API يؤدي إلى إنشاء نطاق مسمّى أو محمي. يمكنك الحصول على أرقام تعريف النطاقات الحالية باستخدام طريقة spreadsheets.get
، وذلك في نص الرد Spreadsheet
.
إضافة نطاقات مسمّاة أو محمية
يوضّح نموذج الرمز البرمجي التالي
spreadsheets.batchUpdate
كيفية استخدام عنصرَي طلب. يستخدم المثال الأول
AddNamedRangeRequest
لإسناد الاسم "العدد" إلى النطاق A1:E3. يستخدم المثال الثاني
AddProtectedRangeRequest
لإرفاق حماية بمستوى تحذير بالنطاق A4:E4. يسمح مستوى الحماية هذا بتعديل الخلايا ضمن النطاق، ولكنّه يعرض تحذيرًا قبل إجراء التغيير.
تعرض هذه الطلبات
AddNamedRangeResponse
وAddProtectedRangeResponse
،
التي تحتوي على معرّفات النطاقات وسماتها.
يظهر بروتوكول الطلب أدناه.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addNamedRange": { "namedRange": { "name": "Counts", "range": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 0, "endColumnIndex": 5, }, } } }, { "addProtectedRange": { "protectedRange": { "range": { "sheetId":SHEET_ID
, "startRowIndex": 3, "endRowIndex": 4, "startColumnIndex": 0, "endColumnIndex": 5, }, "description": "Protecting total row", "warningOnly": true } } } ] }
حذف النطاقات المُعنونة أو المحمية
يوضّح نموذج الرمز البرمجي التالي
spreadsheets.batchUpdate
كيفية استخدام عنصرَي طلب. يستخدم الطلب الأول
DeleteNamedRangeRequest
لحذف نطاق مُعنون حالي، وذلك باستخدام NAMED_RANGE_ID
من
طلب سابق من واجهة برمجة التطبيقات. يستخدم الخيار الثاني
DeleteProtectedRangeRequest
لحذف نطاق محمي حالي، وذلك باستخدام PROTECTED_RANGE_ID
من طلب سابق لواجهة برمجة التطبيقات.
يظهر بروتوكول الطلب أدناه.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
تعديل النطاقات المُعنوَنة أو المحمية
يوضّح نموذج الرمز البرمجي التالي
spreadsheets.batchUpdate
كيفية استخدام عنصرَي طلب. يستخدم المثال الأول
UpdateNamedRangeRequest
لتعديل اسم نطاق مسمّى حالي إلى "InitialCounts"، وذلك باستخدام NAMED_RANGE_ID
من طلب سابق لواجهة برمجة التطبيقات. يستخدم الخيار الثاني
UpdateProtectedRangeRequest
لتعديل نطاق محمي حالي ليصبح يحمي النطاق المسمّى نفسه. تسمح طريقة
Editors
للمستخدمين المدرَجين فقط بتعديل هذه الخلايا. يستخدم هذا الطلب NAMED_RANGE_ID
وPROTECTED_RANGE_ID
من طلبات البيانات السابقة من واجهة برمجة التطبيقات.
يظهر بروتوكول الطلب أدناه.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateNamedRange": { "namedRange": { "namedRangeId":NAMED_RANGE_ID
, "name": "InitialCounts", }, "fields": "name", } }, { "updateProtectedRange": { "protectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, "namedRangeId":NAMED_RANGE_ID
, "warningOnly": false, "editors": { "users": [ "charlie@example.com", "sasha@example.com" ] } }, "fields": "namedRangeId,warningOnly,editors" } } ] }