0

Hinweis: Ohne sie domänenweit zu beschränken.Google Text & Tabellen - Verhindern der automatischen Austausch mit Google-Konten außerhalb unserer Domain

Wenn ich ein Dokument mit einem einzelnen E-Mail teilen, werden sie einen Link gesendet, die ein Zugriffstoken enthält. Sie können diesen Link und nur diesen Link verwenden, um auf eine eingeschränkte Tabelle zuzugreifen.

jedoch, wenn sie ihre persönliche gmail Konten melden Sie sich und dann auf diesen Link gehen zurück, das Dokument Auto-Aktien auf ihre persönlichen Google Mail-Konto. Sie und alle anderen Personen, die Zugriff auf dieses Google Mail-Konto haben, können jetzt auf die Tabelle zugreifen, ohne zu diesem bestimmten Link navigieren zu müssen.

Wie verhindere ich dieses Auto-Sharing nicht passiert?

Antwort

0

Sie müssen permission setzen, wenn ein Skript Dienste verwendet, die private Daten zugreifen können, werden Sie Berechtigungsdialog sehen. Skripte, die Sie zuvor autorisiert haben, fragen zusätzlich nach authorization, wenn eine Codeänderung neue Dienste hinzufügt. Alle Anfragen an die Google Drive API müssen von einem authentifizierten Nutzer autorisiert werden.

HTTP-Anforderung

POST https://www.googleapis.com/drive/v2/files/fileId/permissions 

Im Anforderungstext können Sie die erforderlichen Eigenschaften wie role und type die erlaubten Werte user, group, domain and anyone sind.

private static Permission insertPermission(Drive service, String fileId, 
String value, String type, String role) { 
Permission newPermission = new Permission(); 

newPermission.setValue(value); 
newPermission.setType(type); 
newPermission.setRole(role); 
try { 
return service.permissions().insert(fileId, newPermission).execute(); 
} catch (IOException e) { 
System.out.println("An error occurred: " + e); 
} 
return null; 
} 

Sie können auch versuchen, diese document zu überprüfen, die darüber diskutieren, wie Freigabeberechtigungen festlegen.

+0

Dies steht nicht mit der Google Drive-API oder mit Google Apps Script in Verbindung, da keine OAuth-Flows nach Autorisierung fragen. Ich habe dieses Tag fälschlicherweise hinzugefügt. Die automatische Freigabe mit einem beliebigen Google-Konto, das beim Navigieren der URL angemeldet ist, ist das Problem, und wie im OP angegeben, ist dies nicht domänenweit eingeschränkt. Wir haben viele Anwendungsfälle für Dokumente, die mit externen Konten oder Domänen geteilt werden. –

1

Dies ist höchstwahrscheinlich eine vereinfachte Antwort, aber ich hoffe, es hilft.

Das Problem kann durch Steuern Enum Access (https://developers.google.com/apps-script/reference/drive/access) und Enum Genehmigung (https://developers.google.com/apps-script/reference/drive/permission)

ich so etwas gelöst werden unter Verwendung würde empfehlen: die Menschen mit Zugang bekommen die E-Mail

var file = DriveApp.createFolder('NameOfFile'); 
file.setSharing(DriveApp.Access.DOMAIN, DriveApp.Permission.VIEW); 

diese Weise

Zu der Datei kann nur von ihren Domain-E-Mail-Adressen zugegriffen werden, und nicht ihre persönlichen. Darüber hinaus kann jeder in der Domain diesen finden und anzeigen. Die zwei Links dort sollten Ihnen mehr Informationen geben.