Die Google Drive API unterstützt mehrere Möglichkeiten, um Dateiänderungen zu verhindern, darunter: Einschränkung von Dateiinhalten und Verbot der Option, Dateien herunterzuladen, zu drucken oder zu kopieren -Dateien.
Dateien mit Inhaltsbeschränkungen für Drive schreibgeschützt machen
Sie können einer Google Drive-Datei eine Inhaltsbeschränkung hinzufügen, um zu verhindern, dass Nutzer Dazu gehen Sie so vor:
- Ändern des Titels
- Inhalte bearbeiten
- Überarbeitung hochladen
- Kommentare hinzufügen oder ändern
Durch Inhaltsbeschränkungen kann der Inhalt eines Drive-Element wird schreibgeschützt, ohne die Einstellungen des Drive-Elements zu ändern Zugriffsberechtigungen. Das heißt, es ist keine Zugriffsbeschränkung. Nutzer können den Inhalt der Datei nicht ändern, andere Vorgänge sind basierend auf der Zugriffsebene zulässig (z. B. ein Nutzer mit mit Bearbeitungszugriff weiterhin Elemente verschieben oder die Freigabeeinstellungen ändern können.
Um eine Inhaltsbeschränkung für eine Datei in Google Drive hinzuzufügen oder zu entfernen,
müssen die zugehörigen
Berechtigungen. Für eine Datei oder einen Ordner in
„Meine Ablage“ oder eine geteilte Ablage mit dem
capabilities.canModifyEditorContentRestriction
, du benötigst role=writer
zugewiesen sind. Für eine Datei oder einen Ordner in „Meine Ablage“ oder eine geteilte Ablage mit
ownerRestricted
-Inhaltsbeschränkung haben, müssen Sie der Eigentümer der Datei sein oder
role=organizer
. Um ein Element mit einer Inhaltsbeschränkung anzusehen, müssen Nutzer
role=reader
oder höher. Eine vollständige Liste der Rollen finden Sie unter Rollen und
Berechtigungen Informationen zum Ändern von Berechtigungen für eine Datei finden Sie unter
Berechtigungen ändern
Sie können das boolesche Feld contentRestrictions.readOnly
auf der
files
festzulegende Ressource
Inhaltsbeschränkung. Beachten Sie, dass das Festlegen einer Inhaltsbeschränkung für ein Element
die vorhandene Regel überschrieben.
Szenarien für Inhaltsbeschränkungen
Eine Inhaltsbeschränkung für ein Drive-Element signalisiert Nutzern, dass die sollte nicht geändert werden. Das kann folgende Gründe haben:
- Pausieren der Arbeit an einem gemeinsamen Dokument während Prüf- oder Prüfzeiträumen
- Festlegen eines abgeschlossenen Elements, z. B. „Genehmigt“
- Änderungen während einer Besprechung mit vertraulichen Inhalten verhindern
- Externe Änderungen an Workflows, die von automatisierten Systemen verarbeitet werden, sind nicht zulässig.
- Änderungen durch Google Apps Script und Google Workspace-Add-ons einschränken
- Versehentliche Änderungen an einem Dokument vermeiden
Hinweis: Inhaltsbeschränkungen können zwar bei der Verwaltung von Inhalten helfen, müssen aber nicht Nutzer mit den erforderlichen Berechtigungen daran zu hindern, ein. Außerdem ist dies keine Möglichkeit, einen unveränderlichen Datensatz zu erstellen. Inhaltsbeschränkungen in Google Drive sind änderbar, für einen Artikel garantiert nicht, dass er sich nie ändert.
Dateien mit Inhaltsbeschränkungen verwalten
Google Docs, Google Tabellen und Google Präsentationen sowie alle anderen Dateien, kann Inhaltsbeschränkungen enthalten.
Durch eine Inhaltsbeschränkung für ein Element werden Änderungen am Titel und Inhalt verhindert. einschließlich:
- Kommentare und Vorschläge (in Docs, Tabellen, Präsentationen und Binärdateien)
- Überarbeitungen einer Binärdatei
- Text und Formatierung in Google Docs
- Texte oder Formeln in Google Tabellen, und Instanzen in Google Tabellen
- Alle Inhalte in Google Präsentationen sowie deren Reihenfolge und Nummer Folien
Bestimmte Dateitypen dürfen keine Inhaltsbeschränkung enthalten. Hier einige Beispiele:
- Google Formulare
- Google Sites
- Google Zeichnungen
- Verknüpfungen und Tastenkombinationen von Drittanbietern. Weitere Informationen finden Sie unter Erstellen eines Verknüpfungsdatei zu Inhalten hinzugefügt, die in Ihrem App und Verknüpfung zu einem Drive-Datei.
Inhaltsbeschränkung hinzufügen
Wenn Sie eine Inhaltsbeschränkung für Dateien hinzufügen möchten, verwenden Sie die Methode
files.update
-Methode mit dem
Das Feld contentRestrictions.readOnly
wurde auf true
festgelegt. Fügen Sie optional ein reason
für
warum Sie die Einschränkung hinzufügen, z. B. „Abgeschlossener Vertrag“. Die folgenden
Das Codebeispiel zeigt, wie Sie eine Inhaltsbeschränkung hinzufügen:
Java
File updatedFile =
new File()
.setContentRestrictions(
ImmutableList.of(new ContentRestriction().setReadOnly(true).setReason("Finalized contract."));
File response = driveService.files().update("FILE_ID", updatedFile).setFields("contentRestrictions").execute();
Python
content_restriction = {'readOnly': True, 'reason':'Finalized contract.'}
response = drive_service.files().update(fileId="FILE_ID", body = {'contentRestrictions' : [content_restriction]}, fields = "contentRestrictions").execute();
Node.js
/**
* Set a content restriction on a file.
* @return{obj} updated file
**/
async function addContentRestriction() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const contentRestriction = {
'readOnly': True,
'reason': 'Finalized contract.',
};
const updatedFile = {
'contentRestrictions': [contentRestriction],
};
try {
const response = await service.files.update({
fileId: 'FILE_ID',
resource: updatedFile,
fields: 'contentRestrictions',
});
return response;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
Ersetzen Sie FILE_ID durch die fileId
der Datei, die Sie löschen möchten.
ändern können.
Wenn Sie den Beispielcode ausführen, unterliegt die Datei einer inhaltsbedingten Einschränkung und hat ein Schloss-Symbol (Google Drive-Benutzeroberfläche (Benutzeroberfläche). Die -Datei ist jetzt schreibgeschützt.
) wird neben dem Dateinamen in derInhaltsbeschränkung aufheben
Wenn Sie eine Einschränkung von Dateiinhalten entfernen möchten, verwenden Sie die Methode files.update
mit dem
Das Feld contentRestrictions.readOnly
wurde auf false
festgelegt. Im folgenden Codebeispiel wird
zeigt, wie eine Inhaltsbeschränkung entfernt wird:
Java
File updatedFile =
new File()
.setContentRestrictions(
ImmutableList.of(new ContentRestriction().setReadOnly(false));
File response = driveService.files().update("FILE_ID", updatedFile).setFields("contentRestrictions").execute();
Python
content_restriction = {'readOnly': False}
response = drive_service.files().update(fileId="FILE_ID", body = {'contentRestrictions' : [content_restriction]}, fields = "contentRestrictions").execute();
Node.js
/**
* Remove a content restriction on a file.
* @return{obj} updated file
**/
async function removeContentRestriction() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const contentRestriction = {
'readOnly': False,
};
const updatedFile = {
'contentRestrictions': [contentRestriction],
};
try {
const response = await service.files.update({
fileId: 'FILE_ID',
resource: updatedFile,
fields: 'contentRestrictions',
});
return response;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
Ersetzen Sie FILE_ID durch die fileId
der Datei, die Sie löschen möchten.
ändern können.
Wenn Sie den Beispielcode ausführen, gilt für die Datei keine Inhaltsbeschränkung mehr.
Sie können Inhaltsbeschränkungen auch über die Drive-Benutzeroberfläche entfernen das Bearbeiten von Inhalten zulassen (vorausgesetzt, Sie haben die entsprechenden Berechtigungen). Es gibt zwei haben Sie folgende Möglichkeiten:
Klicken Sie in Google Drive mit der rechten Maustaste auf die Datei mit einer Inhaltsbeschränkung und Klicken Sie auf Entsperren
.Öffnen Sie die Datei mit einer Inhaltsbeschränkung und klicken Sie auf (Sperrmodus). > Datei entsperren.
<ph type="x-smartling-placeholder">
Auf Inhaltsbeschränkung prüfen
Verwende die Methode
files.get
-Methode mit dem
contentRestrictions
hat ein Feld zurückgegeben. Das folgende Codebeispiel zeigt, wie Sie
den Status einer Inhaltsbeschränkung prüfen:
Java
File response = driveService.files().get("FILE_ID").setFields("contentRestrictions").execute();
Python
response = drive_service.files().get(fileId="FILE_ID", fields = "contentRestrictions").execute();
Node.js
/**
* Get content restrictions on a file.
* @return{obj} updated file
**/
async function fetchContentRestrictions() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
try {
const response = await service.files.get({
fileId: 'FILE_ID',
fields: 'contentRestrictions',
});
return response;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
Ersetzen Sie FILE_ID durch die fileId
der Datei, die Sie löschen möchten.
überprüfen.
Wenn Sie den Beispielcode ausführen, gibt die Methode ein
ContentRestriction
Ressource, falls vorhanden.
Inhaltsbeschränkung hinzufügen, die nur der Dateieigentümer ändern kann
So fügen Sie eine Einschränkung des Dateiinhalts hinzu, sodass nur Dateieigentümer den Mechanismus aktivieren oder deaktivieren können:
Verwenden Sie die Methode files.update
mit
Das boolesche Feld contentRestrictions.ownerRestricted
, das auf true
festgelegt ist. Die
Im folgenden Codebeispiel wird gezeigt, wie Sie eine Inhaltsbeschränkung für Dateieigentümer hinzufügen.
Nur:
Java
File updatedFile =
new File()
.setContentRestrictions(
ImmutableList.of(new ContentRestriction().setReadOnly(true).setOwnerRestricted(true).setReason("Finalized contract."));
File response = driveService.files().update("FILE_ID", updatedFile).setFields("contentRestrictions").execute();
Python
content_restriction = {'readOnly': True, 'ownerRestricted': True, 'reason':'Finalized contract.'}
response = drive_service.files().update(fileId="FILE_ID", body = {'contentRestrictions' : [content_restriction]}, fields = "contentRestrictions").execute();
Node.js
/**
* Set an owner restricted content restriction on a file.
* @return{obj} updated file
**/
async function addOwnerRestrictedContentRestriction() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const contentRestriction = {
'readOnly': True,
'ownerRestricted': True,
'reason': 'Finalized contract.',
};
const updatedFile = {
'contentRestrictions': [contentRestriction],
};
try {
const response = await service.files.update({
fileId: 'FILE_ID',
resource: updatedFile,
fields: 'contentRestrictions',
});
return response;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
Ersetzen Sie FILE_ID durch die fileId
der Datei, die Sie löschen möchten.
ändern können.
Wenn Sie den Beispielcode ausführen, ist die Datei inhaltsbeschränkt und nur kann der Inhaber sie entfernen. Wenn Sie der Dateieigentümer sind, wird neben dem Dateinamen in der ein aktives Schloss-Symbol (. Wenn wenn Sie nicht der Eigentümer sind, ist das Schloss-Symbol abgeblendet. ) angezeigt. Drive-Benutzeroberfläche (Benutzeroberfläche)
Verwenden Sie zum Entfernen des Flags ownerRestricted
die Methode files.update
mit dem
Das Feld contentRestrictions.ownerRestricted
wurde auf false
festgelegt.
Funktionen zur Einschränkung von Inhalten
Eine files
-Ressource enthält einen
Sammlung boolescher capabilities
-Felder, mit denen angegeben wird, ob eine Aktion
die für eine Datei ausgeführt werden können.
Inhaltsbeschränkungen umfassen die folgenden capabilities
:
capabilities.canModifyEditorContentRestriction
: gibt an, ob der aktuelle Nutzer können eine Inhaltsbeschränkung hinzufügen oder ändern.capabilities.canModifyOwnerContentRestriction
: gibt an, ob der aktuelle Nutzer können Inhaltsbeschränkungen für Inhaber hinzufügen oder ändern.capabilities.canRemoveContentRestriction
: Gibt an, ob der aktuelle Nutzer angewandte Inhaltsbeschränkung entfernen (falls vorhanden).
Weitere Informationen finden Sie unter Funktionen:
Ein Beispiel für das Abrufen der Datei capabilities
finden Sie unter Nutzer bestätigen
Berechtigungen
Verhindern, dass Nutzer Dateien herunterladen, drucken oder kopieren
Sie können einschränken, wie Nutzer mit den Berechtigungen role=commenter
oder role=reader
Folgendes tun können:
Dateien in Google Drive herunterladen, drucken und kopieren,
Google Docs, Google Tabellen und Google Präsentationen.
Um die Optionen zum Herunterladen, Drucken und Kopieren von Dateien zu entfernen, verwenden Sie die
files.update
-Methode mit dem
Boolesches Feld copyRequiresWriterPermission
auf true
festgelegt.