Class Protection

Perlindungan

Mengakses dan mengubah rentang dan sheet dilindungi. Rentang dilindungi dapat melindungi rentang sel atau rentang bernama. Sheet yang dilindungi dapat mencakup wilayah yang tidak dilindungi. Sebagai spreadsheet yang dibuat dengan Google Spreadsheet versi lama, gunakan PageProtection sebagai gantinya.

// Protect range A1:B10, then remove all other users from the list of editors.
var ss = SpreadsheetApp.getActive();
var range = ss.getRange('A1:B10');
var protection = range.protect().setDescription('Sample protected range');

// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script throws an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
  protection.setDomainEdit(false);
}
// Remove all range protections in the spreadsheet that the user has permission to edit.
var ss = SpreadsheetApp.getActive();
var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i = 0; i < protections.length; i++) {
  var protection = protections[i];
  if (protection.canEdit()) {
    protection.remove();
  }
}
// Protect the active sheet, then remove all other users from the list of editors.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.protect().setDescription('Sample protected sheet');

// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script throws an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
  protection.setDomainEdit(false);
}

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
addEditor(emailAddress)ProtectionMenambahkan pengguna tertentu ke daftar editor untuk sheet atau rentang dilindungi.
addEditor(user)ProtectionMenambahkan pengguna tertentu ke daftar editor untuk sheet atau rentang dilindungi.
addEditors(emailAddresses)ProtectionMenambahkan array pengguna yang diberikan ke daftar editor untuk sheet atau rentang dilindungi.
addTargetAudience(audienceId)ProtectionMenambahkan target audiens yang ditentukan sebagai editor rentang dilindungi.
canDomainEdit()BooleanMenentukan apakah semua pengguna di domain yang memiliki spreadsheet memiliki izin untuk mengedit rentang atau {i>sheet<i} dilindungi.
canEdit()BooleanMenentukan apakah pengguna memiliki izin untuk mengedit rentang atau sheet dilindungi.
getDescription()StringMendapatkan deskripsi rentang atau sheet yang dilindungi.
getEditors()User[]Mendapatkan daftar editor untuk rentang atau sheet dilindungi.
getProtectionType()ProtectionTypeMendapatkan jenis kawasan lindung, RANGE atau SHEET.
getRange()RangeMendapatkan rentang yang dilindungi.
getRangeName()StringMendapatkan nama rentang dilindungi jika dikaitkan dengan rentang bernama.
getTargetAudiences()TargetAudience[]Menampilkan ID target audiens yang dapat mengedit rentang dilindungi.
getUnprotectedRanges()Range[]Mendapatkan array rentang yang tidak dilindungi dalam sheet yang dilindungi.
isWarningOnly()BooleanMenentukan apakah kawasan lindung menggunakan "berbasis peringatan" perlindungan data.
remove()voidTidak melindungi rentang atau sheet.
removeEditor(emailAddress)ProtectionMenghapus pengguna tertentu dari daftar editor untuk sheet atau rentang dilindungi.
removeEditor(user)ProtectionMenghapus pengguna tertentu dari daftar editor untuk sheet atau rentang dilindungi.
removeEditors(emailAddresses)ProtectionMenghapus array pengguna tertentu dari daftar editor untuk sheet atau rentang dilindungi.
removeTargetAudience(audienceId)ProtectionMenghapus target audiens yang ditentukan sebagai editor rentang dilindungi.
setDescription(description)ProtectionMenetapkan deskripsi rentang atau sheet dilindungi.
setDomainEdit(editable)ProtectionMenetapkan apakah semua pengguna di domain yang memiliki spreadsheet memiliki izin untuk mengedit {i>Protected range<i} atau {i>sheet<i} terlindungi.
setNamedRange(namedRange)ProtectionMengaitkan rentang dilindungi dengan rentang bernama yang sudah ada.
setRange(range)ProtectionMenyesuaikan rentang yang dilindungi.
setRangeName(rangeName)ProtectionMengaitkan rentang dilindungi dengan rentang bernama yang sudah ada.
setUnprotectedRanges(ranges)ProtectionTidak melindungi array rentang yang diberikan dalam sheet yang dilindungi.
setWarningOnly(warningOnly)ProtectionMenetapkan apakah rentang dilindungi ini menggunakan "berbasis peringatan" atau tidak perlindungan data.

Dokumentasi mendetail

addEditor(emailAddress)

Menambahkan pengguna tertentu ke daftar editor untuk sheet atau rentang dilindungi. Metode ini melakukan tidak secara otomatis memberikan izin kepada pengguna untuk mengedit {i>spreadsheet <i}itu sendiri; untuk melakukannya dalam Selain itu, panggil Spreadsheet.addEditor(emailAddress).

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Adds an editor to the spreadsheet using an email address.
// TODO(developer): Replace the email address with a valid email.
ss.addEditor('cloudysanfrancisco@gmail.com');

// Gets a sheet by its name and protects it.
const sheet = ss.getSheetByName('Sheet1');
const sampleProtectedSheet = sheet.protect();

// Adds an editor of the protected sheet using an email address.
// TODO(developer): Replace the email address with a valid email.
sampleProtectedSheet.addEditor('cloudysanfrancisco@gmail.com');

// Gets the editors of the protected sheet.
const editors = sampleProtectedSheet.getEditors();

// Logs the editors' email addresses to the console.
for (const editor of editors) {
  console.log(editor.getEmail());
}

Parameter

NamaJenisDeskripsi
emailAddressStringAlamat email pengguna yang akan ditambahkan.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addEditor(user)

Menambahkan pengguna tertentu ke daftar editor untuk sheet atau rentang dilindungi. Metode ini melakukan tidak secara otomatis memberikan izin kepada pengguna untuk mengedit {i>spreadsheet <i}itu sendiri; untuk melakukannya dalam Selain itu, panggil Spreadsheet.addEditor(user).

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Adds the active user as an editor of the protected sheet.
sampleProtectedSheet.addEditor(Session.getActiveUser());

// Gets the editors of the protected sheet.
const editors = sampleProtectedSheet.getEditors();

// Logs the editors' email addresses to the console.
for (const editor of editors) {
  console.log(editor.getEmail());
}

Parameter

NamaJenisDeskripsi
userUserRepresentasi pengguna yang akan ditambahkan.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addEditors(emailAddresses)

Menambahkan array pengguna yang diberikan ke daftar editor untuk sheet atau rentang dilindungi. Ini tidak secara otomatis memberikan izin kepada pengguna untuk mengedit {i>spreadsheet <i}itu sendiri; tugas sebagai tambahan, panggil Spreadsheet.addEditors(emailAddresses).

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Creates variables for the email addresses to add as editors.
// TODO(developer): Replace the email addresses with valid ones.
const TEST_EMAIL_1 = 'cloudysanfrancisco@gmail.com';
const TEST_EMAIL_2 = 'baklavainthebalkans@gmail.com';

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Adds editors to the protected sheet using the email address variables.
sampleProtectedSheet.addEditors([TEST_EMAIL_1, TEST_EMAIL_2]);

// Gets the editors of the protected sheet.
const editors = sampleProtectedSheet.getEditors();

// Logs the editors' email addresses to the console.
for (const editor of editors) {
  console.log(editor.getEmail());
}

Parameter

NamaJenisDeskripsi
emailAddressesString[]Array alamat email pengguna yang akan ditambahkan.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addTargetAudience(audienceId)

Menambahkan target audiens yang ditentukan sebagai editor rentang dilindungi.

Parameter

NamaJenisDeskripsi
audienceIdStringID target audiens yang akan ditambahkan.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

canDomainEdit()

Menentukan apakah semua pengguna di domain yang memiliki spreadsheet memiliki izin untuk mengedit rentang atau {i>sheet<i} dilindungi. Menampilkan pengecualian jika pengguna tidak memiliki izin untuk mengedit rentang atau {i>sheet<i} dilindungi.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Logs whether domain users have permission to edit the protected sheet to the console.
console.log(sampleProtectedSheet.canDomainEdit());

Pulang pergi

Booleantrue jika semua pengguna di domain yang memiliki spreadsheet memiliki izin untuk mengedit rentang atau sheet dilindungi; false jika tidak.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

canEdit()

Menentukan apakah pengguna memiliki izin untuk mengedit rentang atau sheet dilindungi. Tujuan pemilik spreadsheet selalu dapat mengedit rentang dan sheet dilindungi.

// Remove all range protections in the spreadsheet that the user has permission to edit.
var ss = SpreadsheetApp.getActive();
var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i = 0; i < protections.length; i++) {
  var protection = protections[i];
  if (protection.canEdit()) {
    protection.remove();
  }
}

Pulang pergi

Booleantrue jika pengguna memiliki izin untuk mengedit rentang atau sheet dilindungi; false jika tidak

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDescription()

Mendapatkan deskripsi rentang atau sheet yang dilindungi. Jika tidak ada deskripsi yang ditetapkan, metode ini mengembalikan {i>string<i} kosong.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet and sets the description.
const sampleProtectedSheet = sheet.protect().setDescription('Sample sheet is protected');

// Gets the description of the protected sheet and logs it to the console.
const sampleProtectedSheetDescription = sampleProtectedSheet.getDescription();
console.log(sampleProtectedSheetDescription);

Pulang pergi

String — Deskripsi rentang atau sheet yang dilindungi, atau string kosong jika tidak ada deskripsi sudah diatur.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getEditors()

Mendapatkan daftar editor untuk rentang atau sheet dilindungi. Menampilkan pengecualian jika pengguna melakukannya tidak memiliki izin untuk mengedit rentang atau sheet dilindungi.

// Protect the active sheet, then remove all other users from the list of editors.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.protect().setDescription('Sample protected sheet');

// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script throws an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
  protection.setDomainEdit(false);
}

Pulang pergi

User[] — array pengguna dengan izin untuk mengedit rentang atau sheet dilindungi

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getProtectionType()

Mendapatkan jenis area yang dilindungi, RANGE atau SHEET.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Gets the type of the protected area.
const protectionType = sampleProtectedSheet.getProtectionType();

// Logs 'SHEET'to the console since the type of the protected area is a sheet.
console.log(protectionType.toString());

Pulang pergi

ProtectionType — Jenis kawasan lindung, RANGE atau SHEET.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Mendapatkan rentang yang dilindungi. Jika perlindungan berlaku untuk {i>sheet<i}, bukan {i>range<i}, metode ini mengembalikan rentang yang meliputi seluruh {i>sheet<i}.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range 'A1:B10' of Sheet1.
const range = sheet.getRange('A1:B10');

// Makes cells A1:B10 a protected range.
const sampleProtectedRange = range.protect();

// Gets the protected ranges on the sheet.
const protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE);

// Logs the A1 notation of the first protected range on the sheet.
console.log(protections[0].getRange().getA1Notation());

Pulang pergi

Range — Rentang yang dilindungi.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRangeName()

Mendapatkan nama rentang dilindungi jika dikaitkan dengan rentang bernama. Menampilkan null jika perlindungan tidak dikaitkan dengan rentang bernama. Perhatikan bahwa skrip harus secara eksplisit memanggil setRangeName(rangeName) untuk mengaitkan rentang dilindungi dengan rentang bernama; menelepon Range.protect() untuk membuat perlindungan dari Range yang kebetulan berupa rentang bernama, tanpa memanggil setRangeName(rangeName), tidak cukup untuk mengaitkan mereka. Namun, membuat rentang dilindungi dari rentang bernama di pengaitan UI Google Spreadsheet secara otomatis.

// Protect a named range in a spreadsheet and log the name of the protected range.
var ss = SpreadsheetApp.getActive();
var range = ss.getRange('A1:B10');
var protection = range.protect();
ss.setNamedRange('Test', range);       // Create a named range.
protection.setRangeName('Test');       // Associate the protection with the named range.
Logger.log(protection.getRangeName()); // Verify the name of the protected range.

Pulang pergi

String — nama rentang bernama yang dilindungi, atau null jika rentang yang dilindungi tidak yang terkait dengan rentang bernama

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTargetAudiences()

Menampilkan ID target audiens yang dapat mengedit rentang dilindungi.

Pulang pergi

TargetAudience[] — Array ID target audiens.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getUnprotectedRanges()

Mendapatkan array rentang yang tidak dilindungi dalam sheet yang dilindungi. Jika objek Protection sesuai dengan rentang dilindungi, bukan sheet dilindungi, metode ini menampilkan nilai kosong . Untuk mengubah rentang yang tidak dilindungi, gunakan setUnprotectedRanges(ranges) untuk menyetel {i>array<i} rentang baru; untuk melindungi ulang seluruh {i>sheet<i}, atur {i>array<i} kosong.

// Unprotect cells E2:F5 in addition to any other unprotected ranges in the protected sheet.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.protect();
var unprotected = protection.getUnprotectedRanges();
unprotected.push(sheet.getRange('E2:F5'));
protection.setUnprotectedRanges(unprotected);

Pulang pergi

Range[] — array rentang yang tidak dilindungi dalam sheet yang dilindungi

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isWarningOnly()

Menentukan apakah kawasan lindung menggunakan "berbasis peringatan" perlindungan data. Perlindungan berbasis peringatan berarti setiap pengguna dapat mengedit data di area tersebut, kecuali pengeditan akan memunculkan peringatan yang meminta untuk mengonfirmasi hasil edit. Secara default, sheet atau rentang dilindungi tidak berbasis peringatan. Kepada diubah ke status peringatan, gunakan setWarningOnly(warningOnly).

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit')

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Sets the warning status for the protected sheet as true.
sampleProtectedSheet.setWarningOnly(true);

const protectedSheetWarningStatus = sampleProtectedSheet.isWarningOnly();

// Logs the warning status of the protected sheet to the console.
console.log(protectedSheetWarningStatus);

Pulang pergi

Booleantrue jika rentang atau sheet dilindungi hanya menggunakan perlindungan berbasis peringatan.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Tidak melindungi rentang atau sheet.

// Remove all range protections in the spreadsheet that the user has permission to edit.
var ss = SpreadsheetApp.getActive();
var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i = 0; i < protections.length; i++) {
  var protection = protections[i];
  if (protection.canEdit()) {
    protection.remove();
  }
}
// Remove sheet protection from the active sheet, if the user has permission to edit it.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0];
if (protection && protection.canEdit()) {
  protection.remove();
}

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeEditor(emailAddress)

Menghapus pengguna tertentu dari daftar editor untuk sheet atau rentang dilindungi. Perhatikan bahwa jika pengguna adalah anggota grup Google yang memiliki izin edit, atau jika semua pengguna di domain memiliki izin edit, pengguna masih dapat mengedit kawasan yang dilindungi. Bukan pemilik dari {i>spreadsheet<i} atau pengguna saat ini tidak dapat dihapus.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Creates a variable for an email address.
// TODO(developer): Replace the email address with a valid one.
const TEST_EMAIL = 'baklavainthebalkans@gmail.com';

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Adds an editor to the protected sheet using the email address variable.
sampleProtectedSheet.addEditor(TEST_EMAIL);

// Removes the editor from the protected sheet using the email address variable.
sampleProtectedSheet.removeEditor(TEST_EMAIL);

// Gets the editors of the protected sheet.
const editors = sampleProtectedSheet.getEditors();

// Logs the editors' email addresses to the console.
for (const editor of editors) {
  console.log(editor.getEmail());
}

Parameter

NamaJenisDeskripsi
emailAddressStringAlamat email pengguna yang akan dihapus.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeEditor(user)

Menghapus pengguna tertentu dari daftar editor untuk sheet atau rentang dilindungi. Perhatikan bahwa jika pengguna adalah anggota grup Google yang memiliki izin edit, atau jika semua pengguna di domain memiliki izin edit, pengguna juga masih dapat mengedit kawasan lindung. Baik pemilik {i>spreadsheet<i} atau pengguna saat ini dapat dihapus.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets a sheet by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Removes the active user from the editors of the protected sheet.
sampleProtectedSheet.removeEditor(Session.getActiveUser());

// Gets the editors of the protected sheet.
const editors = sampleProtectedSheet.getEditors();

// Logs the editors' email addresses to the console.
for (const editor of editors) {
  console.log(editor.getEmail());
}

Parameter

NamaJenisDeskripsi
userUserRepresentasi pengguna yang akan dihapus.

Pulang pergi

Protection — objek yang mewakili setelan perlindungan, untuk perantaian

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeEditors(emailAddresses)

Menghapus array pengguna tertentu dari daftar editor untuk sheet atau rentang dilindungi. Perhatikan bahwa jika salah satu pengguna adalah anggota grup Google yang memiliki izin edit, atau jika semua pengguna di domain memiliki izin edit, pengguna tersebut masih dapat mengedit izin area tersebut. Baik pemilik {i>spreadsheet<i} maupun pengguna saat ini tidak dapat dihapus.

// Protect the active sheet, then remove all other users from the list of editors.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.protect().setDescription('Sample protected sheet');

// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script throws an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
  protection.setDomainEdit(false);
}

Parameter

NamaJenisDeskripsi
emailAddressesString[]Array alamat email pengguna yang akan dihapus.

Pulang pergi

Protection — objek yang mewakili setelan perlindungan, untuk perantaian

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeTargetAudience(audienceId)

Menghapus target audiens yang ditentukan sebagai editor rentang dilindungi.

Parameter

NamaJenisDeskripsi
audienceIdStringID target audiens yang akan dihapus.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setDescription(description)

Menetapkan deskripsi rentang atau sheet dilindungi.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets the sheet 'Sheet1' by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet.
const sampleProtectedSheet = sheet.protect();

// Sets the sheet description to 'Sheet1 is protected.'
sampleProtectedSheet.setDescription('Sheet1 is protected');

// Gets the description of the protected sheet.
const sampleProtectedSheetDescription = sampleProtectedSheet.getDescription();

// Logs the description of the protected sheet to the console.
console.log(sampleProtectedSheetDescription);

Parameter

NamaJenisDeskripsi
descriptionStringDeskripsi rentang atau sheet dilindungi.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setDomainEdit(editable)

Menetapkan apakah semua pengguna di domain yang memiliki spreadsheet memiliki izin untuk mengedit {i>Protected range<i} atau {i>sheet<i} terlindungi. Perhatikan bahwa setiap pengguna yang memiliki izin edit eksplisit dapat mengedit kawasan lindung terlepas dari setelan ini. Menampilkan pengecualian jika spreadsheet bukan milik domain Google Workspace (yaitu, jika dimiliki oleh akun gmail.com).

Parameter

NamaJenisDeskripsi
editableBooleantrue jika semua pengguna di domain yang memiliki spreadsheet harus memiliki izin untuk mengedit rentang atau {i>sheet<i} terlindungi; false jika tidak.

Pulang pergi

Protection — objek yang mewakili setelan perlindungan, untuk perantaian

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setNamedRange(namedRange)

Mengaitkan rentang dilindungi dengan rentang bernama yang sudah ada. Jika rentang bernama mencakup area yang berbeda dari rentang dilindungi saat ini, metode ini memindahkan perlindungan untuk rentang bernama sebagai gantinya. Rentang bernama harus berada pada sheet yang sama dengan rentang yang dilindungi saat ini {i>range<i}. Perhatikan bahwa skrip harus memanggil metode ini secara eksplisit untuk mengaitkan rentang dilindungi dengan {i>Name range<i}; memanggil Range.protect() untuk membuat perlindungan dari Range yang kebetulan merupakan rentang bernama, tanpa memanggil setRangeName(rangeName), bukan memadai untuk mengaitkannya. Akan tetapi, membuat rentang terlindungi dari rentang bernama dalam UI Google Spreadsheet mengaitkannya secara otomatis.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Protects cells A1:D10 on Sheet1.
const sheet = ss.getSheetByName('Sheet1');
const protectedRange = sheet.getRange('A1:D10').protect();

// Logs the current protected range, A1:D10.
console.log(protectedRange.getRange().getA1Notation());

// Creates a named range for cells E1:J10 called 'NewRange.'
const newRange = sheet.getRange('E1:J10');
ss.setNamedRange('NewRange', newRange);
const namedRange = ss.getNamedRanges()[0];

// Updates the protected range to the named range, 'NewRange.'
// This updates the protected range on Sheet1 from A1:D10 to E1:J10.
protectedRange.setNamedRange(namedRange);

// Logs the updated protected range to the console.
console.log(protectedRange.getRange().getA1Notation());

Parameter

NamaJenisDeskripsi
namedRangeNamedRangeRentang bernama yang sudah ada untuk dikaitkan dengan rentang dilindungi.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRange(range)

Menyesuaikan rentang yang dilindungi. Jika rentang yang diberikan mencakup area yang berbeda dari rentang dilindungi saat ini, metode ini memindahkan perlindungan untuk mencakup rentang baru.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Protects cells A1:D10 on Sheet1 of the spreadsheet.
const sheet = ss.getSheetByName('Sheet1');
const protectedRange = sheet.getRange('A1:D10').protect();

// Logs the original protected range, A1:D10, to the console.
console.log(protectedRange.getRange().getA1Notation());

// Gets the range E1:J10.
const newRange = sheet.getRange('E1:J10');

// Updates the protected range to E1:J10.
protectedRange.setRange(newRange);

// Logs the updated protected range to the console.
console.log(protectedRange.getRange().getA1Notation());

Parameter

NamaJenisDeskripsi
rangeRangeRentang baru untuk melindungi dari pengeditan.

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRangeName(rangeName)

Mengaitkan rentang dilindungi dengan rentang bernama yang sudah ada. Jika rentang bernama mencakup area yang berbeda dari rentang dilindungi saat ini, metode ini memindahkan perlindungan untuk rentang bernama sebagai gantinya. Rentang bernama harus berada pada sheet yang sama dengan rentang yang dilindungi saat ini {i>range<i}. Perhatikan bahwa skrip harus memanggil metode ini secara eksplisit untuk mengaitkan rentang dilindungi dengan {i>Name range<i}; memanggil Range.protect() untuk membuat perlindungan dari Range yang kebetulan merupakan rentang bernama, tanpa memanggil setRangeName(rangeName), bukan memadai untuk mengaitkannya. Akan tetapi, membuat rentang terlindungi dari rentang bernama dalam UI Google Spreadsheet mengaitkannya secara otomatis.

// Protect a named range in a spreadsheet and log the name of the protected range.
var ss = SpreadsheetApp.getActive();
var range = ss.getRange('A1:B10');
var protection = range.protect();
ss.setNamedRange('Test', range);       // Create a named range.
protection.setRangeName('Test');       // Associate the protection with the named range.
Logger.log(protection.getRangeName()); // Verify the name of the protected range.

Parameter

NamaJenisDeskripsi
rangeNameStringNama rentang bernama yang akan dilindungi.

Pulang pergi

Protection — objek yang mewakili setelan perlindungan, untuk perantaian

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setUnprotectedRanges(ranges)

Tidak melindungi array rentang yang diberikan dalam sheet yang dilindungi. Menampilkan pengecualian jika Objek Protection sesuai dengan rentang dilindungi, bukan sheet dilindungi, atau jika rentang mana pun tidak ada dalam sheet dilindungi. Untuk mengubah rentang yang tidak dilindungi, tetapkan array of range; untuk melindungi ulang seluruh {i>sheet<i}, atur {i>array<i} kosong.

// Protect the active sheet except B2:C5, then remove all other users from the list of editors.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.protect().setDescription('Sample protected sheet');
var unprotected = sheet.getRange('B2:C5');
protection.setUnprotectedRanges([unprotected]);

// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script throws an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
  protection.setDomainEdit(false);
}

Parameter

NamaJenisDeskripsi
rangesRange[]Array rentang yang tidak dilindungi dalam sheet yang dilindungi.

Pulang pergi

Protection — objek yang mewakili setelan perlindungan, untuk perantaian

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setWarningOnly(warningOnly)

Menetapkan apakah rentang dilindungi ini menggunakan "berbasis peringatan" atau tidak perlindungan data. Berbasis peringatan berarti setiap pengguna dapat mengedit data di area tersebut, kecuali pengeditan akan memunculkan peringatan yang meminta pengguna untuk mengonfirmasi hasil edit. Secara default, rentang atau sheet dilindungi tidak berbasis peringatan. Untuk memeriksa status peringatan, gunakan isWarningOnly().

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets the sheet 'Sheet1' by its name.
const sheet = ss.getSheetByName('Sheet1');

// Protects the sheet and sets the protection to warning-based.
const sampleProtectedSheet = sheet.protect().setWarningOnly(true);

// Logs whether the protected sheet is warning-based to the console.
console.log(sampleProtectedSheet.isWarningOnly());

Parameter

NamaJenisDeskripsi
warningOnlyBoolean

Pulang pergi

Protection — Objek yang mewakili setelan perlindungan, untuk perantaian.

Otorisasi

Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets