Wie kann ich den Besitz von Google Drive-Dateien und -Ordnern rekursiv festlegen?


29

Wir sind kürzlich für unser gesamtes Unternehmen von Dropbox zu Google Drive gewechselt, und ich habe ein Nutzerkonto verwendet, um alles in Google Drive zu verschieben. Jetzt gehören die meisten / alle Dateien / Ordner einem Konto. Die Ordner sind nach Abteilungen unterteilt, und ich möchte den Eigentümer aller Dateien in diesem Ordner auf den Abteilungsleiter setzen. Gibt es eine Möglichkeit, dies zu tun, ohne in jeden Ordner zu wechseln? Ich möchte dies in der Web-App lösen, aber wenn nicht, wie kann ich dies mit der API tun?


1
Wenn die Eigentümer Google Drive auf ihrem Desktop-Computer ausführen können (ich habe es mit Windows versucht), können sie jeden Ordner duplizieren, zu dem sie gehören SOLLTEN. Wenn die Kopie erneut in die Cloud hochgeladen wird, befinden sich alle Dateien vollständig in ihrem Eigentum. Entfernen Sie vorsichtig die Originalkopie. Ich mache dies zu einem Kommentar, da es keine richtige Antwort ist. Es ist eine Umgehungslösung, die möglicherweise weniger aufwändig ist als einige der anderen Antworten.
Fuhrmanator

Verwandte Frage, wie dies mit einem Element zu tun ist: webapps.stackexchange.com/q/114423/24544
Flimm

Antworten:


17

Ich habe ein Befehlszeilentool erstellt , um damit umzugehen.

Nachdem Sie die Installationsanweisungen für das GitHub-Projekt befolgt haben, können Sie das Tool mit einem angegebenen Pfadpräfix und der E-Mail-Adresse des neuen Besitzers ausführen:

python transfer.py PATH-PREFIX NEW-OWNER-EMAIL

Nachdem die Autorisierung von OAuth erhalten wurde, wird das Google Drive-Konto, für das die Autorisierung erteilt wurde, rekursiv durchsucht, mit dem Pfadpräfix abgeglichen (Nicht-Übereinstimmungen werden ignoriert) und anschließend das Eigentum an der neuen E-Mail übertragen. Wenn die neue E-Mail-Adresse einen Benutzer angibt, der noch nicht einmal für den Artikel freigegeben ist, wird dies ebenfalls behandelt. Der aktuelle Eigentümer verliert den Zugriff nicht, der neue oder alte Eigentümer kann ihn jedoch widerrufen.

Ich sollte beachten, dass es nicht immer möglich ist, das Eigentum an einem Objekt in Drive zu übertragen. Beispielsweise ist es nicht möglich, das Eigentum für einen Artikel vom G Suite-Konto (Google Apps for Work) auf ein normales GMail-Konto zu übertragen. Es kann freigegeben werden (was das Skript tun wird), aber die Übertragung des Eigentums schlägt fehl.


Ich habe Ihr Skript ausprobiert, aber die Struktur der Ordnerhierarchie geht verloren. Alle übertragenen Dateien werden auf der obersten Ebene des Laufwerks des neuen Besitzers angezeigt. Wissen Sie, wie Sie die Übertragung durchführen, damit Unterordner und ihre Dateien in den Ordnern bleiben?
Tony

1
Möglicherweise möchten Sie den Inhalt zuerst über die grafische Benutzeroberfläche für die vorgesehene Person freigeben und ihn dann mithilfe des Dienstprogramms zu Besitzern hochstufen.
David Timothy Strauss

Vielen Dank! Ich musste einen kleinen Unicode-Fehler in Ihrem Skript beheben (überprüfen Sie die Pull-Anforderungen auf Github), aber dann hat es gut funktioniert. Einziger Nachteil: Der Eigentümer kann nur für Google-Dateien (Dokumente, Stylesheets usw.) geändert werden, nicht für hochgeladene Dateien wie PDFs, da Google dies einfach nicht zulässt, weder über die API noch über die Weboberfläche. :-(
jcsahnwaldt sagt GoFundMonica

Könnten Sie bitte erklären, was der PATH-PREFIX ist? Ich bin nicht sicher, ob dieser Prozess korrekt ist: Führen Sie den Python-Befehl einmal aus und drücken Sie dann die Eingabetaste, rufen Sie den Link ab, fügen Sie ihn in den Browser ein, holen Sie das Token und führen Sie den Befehl put the token erneut aus. Nach diesem Vorgang erhalte ich die Meldung "Sammle Dateilisten für Präfix [] ..." mit allen Stammverzeichnissen, die sich auf meinem Google-Laufwerk befinden, und ändere nicht den Besitzer.
thanos.a

@JonaChristopherSahnwaldt Kannst du das klären? Wir haben dieses Skript ausgiebig mit normalen Dateien in Google Drive verwendet.
David Timothy Strauss

4

Scheint mir ein sehr einfacher Prozess zu sein ...

Sie können die Suchleiste oben in der WebGUI für Google Drive verwenden. ownerWählen typeSie einfach den Benutzernamen Ihres Benutzers in der Dropdown-Liste aus, wählen Sie den Ordner aus (z. B., wenn Sie möchten), wählen Sie den Speicherort des Ordners aus, den Sie dem Abteilungsleiter zuweisen möchten, und klicken Sie dann auf Suchen.

Wählen Sie in den Suchergebnissen so viele Ordner aus, wie Sie in einer Runde verarbeiten möchten (ich mache das gerne in Stücken, damit ich den Fortschritt sehen kann). Klicken Sie dann mit der rechten Maustaste auf "Teilen". Stellen Sie den Benutzer des Abteilungsleiters auf EIGENTÜMER und nicht auf Schreibzugriff ein.

Nachspülen und bei Bedarf wiederholen (wenn Sie dasselbe noch einmal tun, werden die bereits konvertierten Dateien bei Ihrer Suche natürlich nicht angezeigt, da sie jetzt dem Abteilungsleiter gehören).

Bildbeschreibung hier eingeben


Die entscheidende Erkenntnis hierbei ist, dass Sie mehrere Elemente auswählen, mit der rechten Maustaste auf die ausgewählte Sammlung klicken und die Freigabeeinstellungen für alle gleichzeitig ändern können.
Jorfus

1

Sie können mehrere Ordner prüfen, die rechte Maustaste drücken, "Freigeben" auswählen und die Zugriffsrechte bearbeiten.

Funktioniert es bei dir


3
Nicht rekursiv, aber es hilft.
Ryan Shillington

2
Laut Google-Hilfe wird bei Verwendung der Freigabeeinstellungen auf Ordnerebene der neue Empfänger nur als "Editor" für die vorhandenen Dateien in diesem Ordner hinzugefügt . (Aus Programmiersicht sind die Dateien die untergeordneten Elemente des Ordners.) Um die Eigentümerschaft von Dateien tatsächlich zu ändern, klicken Sie häufig auf das Kontrollkästchen jeder Datei und verwenden Sie die Option "Freigeben".
Rwong

Dies kann mich nicht als neuen Besitzer festlegen, den ich nur bearbeiten kann.
thanos.a

@ 9000 Das war ich kann das Eigentum nur an andere Benutzer geben, nicht bekommen, wenn ich es nicht habe. In meinem Fall habe ich einen Ordner, der Dateien enthält. Einige davon besitze ich, andere gehören einem anderen Benutzer. Am Ende möchte ich alle Dateien besitzen.
thanos.a

1
@ thanos.a: Sicherheit funktioniert nicht so. Um eine Datei zu besitzen, die jemand anderes besitzt, muss dieser jemand Ihnen den Zugriff gewähren. Stellen Sie sich vor, jemand öffnet Ihren Ordner und erlangt ohne Ihre Zustimmung den Besitz Ihrer Dateien.
9000

1

Die beste Möglichkeit, dies zu tun, besteht darin, zur Ansicht "Alle Elemente" zu wechseln, weiter nach unten zu scrollen, bis keine Dateien mehr geladen sind, und dann das Kontrollkästchen oben zu aktivieren, mit dem alle Dateien und Ordner in der aktuellen Ansicht ausgewählt werden . Wenn alle Elemente ausgewählt sind, klicken Sie auf Mehr und geben Sie sie dann wieder frei. Wechseln Sie im Freigabefeld zu den entsprechenden Freigabeebenen und klicken Sie auf Fertig.

Die einzige Einschränkung ist, dass Sie die Berechtigungen für ALLE Ihre Dateien und Ordner ändern.


1
Wo ist die Option "Alle Artikel"?
thanos.a

1
Google Drive blockiert und stürzt auf der Webseite ab, wenn zu viele Dateien vorhanden sind.
Chloe

cmd+ A für "Alles auswählen" ist hier hilfreich. Klicken Sie auf den Befehl, um die Auswahl aufzuheben, falls erforderlich.
Graham P Heath

0

Die beste Möglichkeit, Google Mail für Endverbraucher mit einem freigegebenen Ordner zu finden, in dem Dateien und Unterordner verschiedenen Personen gehören: Melden Sie sich bei dem Konto an, in dem sich die Dateien befinden, gehen Sie zu "Mein Konto" -> "Inhalt verwalten" und laden Sie alle Dateien herunter. Die ZIP-Datei enthält alle Dateien in der ursprünglichen Struktur. Das erneute Hochladen (einschließlich Überschreiben) aller Dateien mit dem neuen Besitzerkonto.


0

Für Google Apps-Nutzer: Der Administrator kann sich bei https://admin.google.com/ anmelden und zu Apps> Google Apps> Laufwerk> Eigentümer übertragen navigieren. Diese Operation hält die Dateien für beide Benutzer zugänglich, ändert jedoch rekursiv den Besitz jeder Datei / jedes Ordners von BenutzerA zu BenutzerB. Man könnte vorübergehend alle auf sich selbst übertragen und dann umgehend die gewünschten Berechtigungen für jede Datei / jeden Ordner festlegen.

Google - Übertragung des Eigentums an Drive-Dokumenten

Bildbeschreibung hier eingeben


3
Das würde ALLE Dateien auf einen anderen Benutzer übertragen. Ich brauche etwas, das eine Untergruppe von Dateien aufnimmt und den Eigentümer ändert.
Dan Mandle

Dies wird verwendet, wenn das andere Konto entfernt werden soll.
thanos.a

Entschuldigung, war nicht explizit genug. Der Punkt ist, dass man vorübergehend alle auf sich selbst übertragen und dann sofort die gewünschten Berechtigungen für jede Datei / jeden Ordner festlegen kann.
sh78

1
@musophob Sie sollten Ihre Antwort so bearbeiten, dass sie Ihren letzten Kommentar enthält. "Kommentare sind temporäre" Post-It "-Notizen zu einer Frage oder Antwort."
Vidar S. Ramdal

@ VidarS.Ramdal guten Ruf!
sh78

-3

Verschieben Sie die Dateien. Sie machen den Ordner für den neuen Besitzer freigegeben und lassen ihn dann alles in einen neuen Ordner verschieben. Das alles gehört ihnen und der ursprüngliche Besitzer verliert den Zugang. Sie können wählen, ob sie es zurückgeben möchten oder nicht.


4
-1: Das Verschieben der Dateien ändert nicht den Dateibesitz.
Rubén

1
Dies würde auch die Dateien in allen Situationen bis auf die einfachsten verwirren. Außerdem ist es je nach Berechtigung möglicherweise nicht möglich, die Dateien zu verschieben, und dies ist kein Problem, wenn sie einmal im Besitz sind. Weiterhin glaube ich nicht, dass Berechtigungen von einem "Ordner" geerbt werden, nur indem eine Datei / ein Ordner in diesen "verschoben" wird.
Rainabba
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.