Come posso impostare ricorsivamente la proprietà dei file e delle cartelle di Google Drive?


29

Di recente ci siamo trasferiti da Dropbox a Google Drive per tutta la nostra azienda e ho usato un account utente per spostare tutto in Google Drive. Ora la maggior parte / tutti i file / cartelle sono di proprietà di un account. Le cartelle sono suddivise per dipartimento e vorrei impostare il proprietario di tutti i file all'interno di quella cartella sul capo dipartimento. C'è un modo per farlo senza andare in ogni cartella? Vorrei risolverlo nella webapp, ma in caso contrario, come posso farlo con l'API?


1
Se i proprietari possono eseguire Google Drive sul proprio computer desktop (l'ho provato con Windows), possono duplicare ogni cartella che DOVREBBE appartenere a loro e quando la copia viene ricaricata sul cloud, tutti i file saranno completamente di loro proprietà. Rimuovere con cura la copia originale. Sto facendo di questo un commento poiché non è una risposta vera. È una soluzione alternativa che potrebbe essere meno fastidiosa rispetto ad alcune delle altre risposte.
Fuhrmanator,

Domanda correlata su come eseguire questa operazione con un solo elemento: webapps.stackexchange.com/q/114423/24544
Flimm

Risposte:


17

Ho creato uno strumento da riga di comando per gestirlo.

Dopo aver seguito le istruzioni di installazione sul progetto GitHub, è possibile eseguire lo strumento con un prefisso percorso specificato e l'indirizzo e-mail del nuovo proprietario:

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

Dopo aver ottenuto l'autorizzazione da OAuth, camminerà in modo ricorsivo sull'account Google Drive a cui ha ottenuto l'autorizzazione, corrisponderà al prefisso del percorso (ignorando le non corrispondenze), quindi trasferirà la proprietà alla nuova e-mail. Se il nuovo indirizzo e-mail indica un utente che non è ancora nemmeno condiviso sull'elemento, lo gestirà anche. L'attuale proprietario non perderà l'accesso, ma il proprietario nuovo o vecchio può revocarlo.

Devo notare che non è sempre possibile trasferire la proprietà di un elemento in Drive. Ad esempio, non è possibile spostare la proprietà di un articolo dall'account G Suite (Google Apps for Work) a un normale account GMail. Può essere condiviso (cosa che farà lo script), ma il trasferimento della proprietà fallirà.


Ho provato il tuo script ma la struttura della gerarchia di cartelle è andata persa. Tutti i file trasferiti vengono visualizzati nella nuova unità dei proprietari al livello superiore. Sai come eseguire il trasferimento in modo che le sottocartelle e i loro file rimangano nelle cartelle?
Tony,

1
Potresti voler prima condividere il contenuto con la persona designata dalla GUI e quindi utilizzare l'utilità per promuoverlo ai proprietari.
David Timothy Strauss,

Grazie! Ho dovuto correggere un piccolo bug Unicode nel tuo script (controlla le richieste pull su github), ma poi ha funzionato bene. Unico inconveniente: può solo cambiare la proprietà dei file di Google (documenti, fogli di stile, ecc.), Non di file caricati come PDF, perché Google semplicemente non lo consente, né tramite l'API né l'interfaccia web. :-(
jcsahnwaldt dice GoFundMonica il

Potresti spiegare cos'è il PATH-PREFIX? Non sono sicuro che questo processo sia corretto: esegui il comando python una volta, quindi premi invio, ottieni il collegamento, incollalo nel browser, ottieni il token, riesegui il comando e inserisci il token. Dopo questo processo ottengo gli "Elenchi di file Gathing per il prefisso [] ..." con tutte le directory principali che ho nel mio disco di Google, senza apportare alcuna modifica alla proprietà.
thanos.a

@JonaChristopherSahnwaldt Puoi chiarire? Abbiamo utilizzato ampiamente questo script con file normali in Google Drive.
David Timothy Strauss,

4

Mi sembra un processo molto semplice ...

Puoi utilizzare la barra di ricerca nella parte superiore della WebGUI per Google Drive. Basta selezionare il nome utente dell'utente nel ownermenu a discesa, scegliere type(come la cartella se si desidera), scegliere la posizione della cartella che si desidera trasformare il proprietario in capo reparto, quindi fare clic su Cerca.

Nei risultati della ricerca, seleziona tutte le cartelle che vuoi elaborare in un round (mi piace farlo a blocchi in modo da poter vedere i progressi). Quindi fare clic destro, "condividi". Impostare l'utente capo reparto su PROPRIETARIO anziché sull'accesso in scrittura.

Risciacqua e ripeti se necessario (se fai di nuovo la stessa cosa i file che hai già convertito non appariranno nella tua ricerca ovviamente perché ora sono di proprietà del capo dipartimento).

inserisci qui la descrizione dell'immagine


Bene, l'intuizione fondamentale qui è che è possibile selezionare più elementi, fare clic con il tasto destro sulla raccolta selezionata e modificare tutte le impostazioni di condivisione contemporaneamente.
Jorfus,

1

Puoi controllare diverse cartelle, quindi premere il tasto destro del mouse, scegliere "Condividi" e modificare i diritti di accesso.

Per te funziona?


3
Non ricorsivo, ma aiuta.
Ryan Shillington

2
Secondo l'aiuto di Google , l'utilizzo delle impostazioni "condividi" a livello di cartella aggiungerà il nuovo destinatario come "editor" per i file esistenti in quella cartella. (Da un punto di vista della programmazione, i file sono gli elementi figlio della cartella.) Per modificare effettivamente la proprietà dei file, basta fare clic sulla casella di controllo su ciascun file e utilizzare l'opzione "condividi".
rwong,

Questo non può impostarmi come nuovo proprietario in cui posso solo modificare.
thanos.a

@ 9000 Questo era che posso solo dare la proprietà ad altri utenti, non ottenerlo se non ce l'ho. Nel mio caso ho una cartella che contiene file. Alcuni di loro sono di mia proprietà, altri di proprietà di un altro utente. Alla fine voglio possedere tutti i file.
Grazie

1
@ thanos.a: la sicurezza non funziona in questo modo. Per possedere un file che qualcun altro possiede, devi avere quel qualcuno che ti dia l'accesso. Immagina che qualcuno apra la tua cartella e che in qualche modo ottenga la proprietà dei tuoi file senza il tuo consenso.
9000

1

Il modo migliore che ho trovato per farlo è passare alla vista "Tutti gli elementi", continuare a scorrere verso il basso fino a quando non vengono caricati più file, quindi premere la casella di spunta in alto che seleziona tutti i file e le cartelle nella vista corrente . Dopo aver selezionato tutti gli elementi, fai clic su Altro, quindi condividi e condividi di nuovo. Nella casella di condivisione passare ai livelli di condivisione appropriati e fare clic su Fine.

L'unico avvertimento qui è cambiare le autorizzazioni per TUTTI i tuoi file e cartelle.


1
Dov'è l'opzione "Tutti gli articoli"?
thanos.a

1
Google Drive si blocca e si arresta in modo anomalo nella pagina Web quando ci sono troppi file.
Chloe,

cmd+ A per "Seleziona tutto" è utile qui. Comando fare clic per deselezionare se è necessario.
Graham P Heath,

0

Il modo migliore che ho trovato per il consumatore Gmail con una cartella condivisa in cui file e sottocartelle sono di proprietà di persone diverse: accedere all'account che contiene i file, andare su "Il mio account" -> "Gestisci contenuto" e scaricare tutti i file. La zip contiene tutti i file nella struttura originale. Il nuovo caricamento (inclusa la sovrascrittura) di tutti i file con il nuovo account proprietario.


0

Per gli utenti di Google Apps: l'amministratore può accedere a https://admin.google.com/ e accedere a App> Google Apps> Drive> Trasferisci proprietà. Questa operazione mantiene i file accessibili ad entrambi gli utenti, ma modifica ricorsivamente la proprietà di ogni file / cartella da UtenteA a UtenteB; si potrebbe trasferire temporaneamente tutti a se stessi, quindi impostare prontamente le autorizzazioni desiderate su ciascun file / cartella.

Google: trasferisci la proprietà dei documenti di Drive

inserisci qui la descrizione dell'immagine


3
Ciò trasferirebbe TUTTI i file a un altro utente. Ho bisogno di qualcosa che prenderà un sottoinsieme di file e cambierà la proprietà.
Dan Mandle

Viene utilizzato quando l'altro account sta per essere rimosso.
thanos.a

Spiacente, non era abbastanza esplicito. Il punto è che si potrebbero trasferire temporaneamente tutti a se stessi, quindi impostare prontamente le autorizzazioni desiderate su ciascun file / cartella.
sh78,

1
@musophob Devi modificare la tua risposta per includere l'ultimo tuo commento. "I commenti sono" Post-It "temporanei lasciati su una domanda o risposta."
Vidar S. Ramdal,

@ VidarS.Ramdal buona chiamata!
sh78,

-3

Sposta i file. Rendi la cartella condivisibile per il nuovo proprietario e poi fai spostare tutto in una nuova cartella. Ciò rende tutto loro e il proprietario originale perde l'accesso. Possono scegliere di condividerlo nuovamente o no.


4
-1: lo spostamento dei file non cambia la proprietà dei file.
Rubén,

1
Ciò farebbe anche casino nei file, tranne nelle situazioni più semplicistiche. Inoltre, potrebbe non essere nemmeno possibile spostare i file in base alle autorizzazioni e, una volta posseduti, questo non sarebbe un problema. Inoltre, non credo che le autorizzazioni verranno ereditate da una "cartella", semplicemente "spostando" un file / cartella in essa.
Rainabba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.