Как я могу рекурсивно установить владельца файлов и папок на Google Диске?


29

Мы недавно перешли с Dropbox на Google Drive для всей нашей компании, и я использовал одну учетную запись пользователя, чтобы переместить все в Google Drive. Теперь большинство / все файлы / папки принадлежат одной учетной записи. Папки разбиты по отделам, и я бы хотел назначить владельцем всех файлов в этой папке руководителя отдела. Есть ли способ сделать это, не заходя в каждую папку? Я хотел бы решить эту проблему в веб-приложении, но если нет, то как я могу сделать это с помощью API?


1
Если владельцы могут запускать Google Drive на своем настольном компьютере (я пробовал это с Windows), они могут дублировать каждую папку, которая ДОЛЖНА принадлежать им, и когда копия будет повторно загружена в облако, все файлы будут полностью принадлежать им. Тщательно удалите оригинальную копию. Я делаю это комментарий, так как это не верный ответ. Это обходной путь, который может быть меньше хлопот, чем некоторые другие ответы.
Фурманатор

Связанный вопрос о том, как сделать это с одним элементом: webapps.stackexchange.com/q/114423/24544
Flimm

Ответы:


17

Я создал инструмент командной строки, чтобы справиться с этим.

Следуя инструкциям по настройке проекта GitHub, вы можете запустить инструмент с указанным префиксом пути и адресом электронной почты нового владельца:

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

Получив авторизацию от OAuth, он рекурсивно обходит учетную запись Google Drive, на которую он получил авторизацию, сопоставляет ее с префиксом пути (игнорируя несоответствия), а затем передает право собственности на новое письмо. Если новый адрес электронной почты указывает на пользователя, который еще не поделился этим элементом, он также с этим справится. Текущий владелец не потеряет доступ, но новый или старый владелец может отозвать его.

Следует отметить, что не всегда возможно передать право собственности на элемент в Drive. Например, невозможно переместить право собственности на элемент из учетной записи G Suite (Google Apps для работы) в обычную учетную запись GMail. Он может использоваться совместно (что будет делать скрипт), но передача прав собственности не удастся.


Я опробовал ваш скрипт, но структура иерархии папок потеряна. Все переданные файлы отображаются на диске новых владельцев на верхнем уровне. Вы знаете, как выполнить перенос, чтобы подпапки и их файлы оставались в папках?
Тони

1
Возможно, вы захотите поделиться контентом с предполагаемым человеком из графического интерфейса, а затем использовать утилиту для продвижения их владельцам.
Дэвид Тимоти Штраус

Благодарность! Мне пришлось исправить небольшую ошибку Unicode в вашем скрипте (проверьте запросы на получение на github), но потом все заработало нормально. Единственный недостаток: он может менять владельца только для файлов Google (документов, таблиц стилей и т. Д.), Но не для загруженных файлов, таких как PDF, потому что Google просто не позволяет этого ни через API, ни через веб-интерфейс. :-(
jcsahnwaldt говорит GoFundMonica

Не могли бы вы объяснить, что такое PATH-PREFIX? Я не уверен, что этот процесс правильный: выполните команду python один раз, затем нажмите Enter, получите ссылку, вставьте ее в браузер, получите токен, повторите команду и введите токен. После этого процесса я получаю «Списки файлов Gathing для префикса [] ...» со всеми корневыми каталогами, которые есть на моем диске Google, без каких-либо изменений владельца.
thanos.a

@JonaChristopherSahnwaldt Вы можете уточнить? Мы широко использовали этот скрипт с обычными файлами в Google Drive.
Дэвид Тимоти Страусс

4

Похоже, очень простой процесс для меня ...

Вы можете использовать панель поиска в верхней части веб-интерфейса для Google Диска. Просто выберите имя пользователя вашего пользователя в ownerраскрывающемся списке , выберите type(например, папку, если вы хотите), выберите местоположение папки, которую вы хотите превратить владельцем в начальника отдела, затем нажмите поиск.

В результатах поиска выберите столько папок, сколько вы хотите обработать за один раунд (мне нравится делать это порциями, чтобы я мог видеть прогресс). Затем щелкните правой кнопкой мыши «поделиться». Установите для начальника отдела пользователя ВЛАДЕЛЕЦ, а не доступ для записи.

Промойте и повторите при необходимости (если вы сделаете то же самое снова, файлы, которые вы уже преобразовали, не будут отображаться в вашем поиске, конечно, потому что они теперь принадлежат главе департамента).

введите описание изображения здесь


Хорошо, критическое понимание здесь заключается в том, что вы можете выбрать несколько элементов, щелкнуть правой кнопкой мыши выбранную коллекцию и изменить настройки общего доступа для всех одновременно.
Джорф

1

Вы можете проверить несколько папок, затем нажать правую кнопку мыши, выбрать «Поделиться» и отредактировать права доступа.

Работает ли это для вас?


3
Не рекурсивно, но помогает.
Райан Шиллингтон

2
Согласно справке Google , использование настроек «Поделиться» на уровне папок добавит нового получателя только в качестве «редактора» для существующих файлов в этой папке. (С программной точки зрения файлы являются дочерними элементами папки.) Чтобы фактически изменить владельца файлов, достаточно щелкнуть по флажку для каждого файла и использовать параметр «поделиться».
Рувон

Это не может сделать меня новым владельцем, где я могу только редактировать.
thanos.a

@ 9000 Я мог передать право владения другим пользователям, но не получить его, если у меня его нет. В моем случае у меня есть папка с файлами. Некоторые из них принадлежат мне, другие принадлежат другому пользователю. В конце я хочу владеть всеми файлами.
thanos.a

1
@ thanos.a: Безопасность не работает таким образом. Чтобы иметь файл, которым владеет кто-то другой, вам нужно, чтобы кто-то предоставил вам доступ. Представьте, что кто-то открывает вашу папку и каким-то образом становится владельцем ваших файлов без вашего согласия.
9000

1

Лучший способ сделать это - перейти к представлению «Все элементы», прокрутить вниз до тех пор, пока файлы не загрузятся, а затем установить флажок сверху, который выбирает все файлы и папки в текущем представлении. , Как только все элементы выбраны, нажмите еще, а затем поделиться и поделиться снова. В окне общего доступа перейдите на соответствующие уровни общего доступа и нажмите «Готово».

Единственное предостережение здесь - вы меняете права на ВСЕ ваши файлы и папки.


1
Где находится опция «Все предметы»?
thanos.a

1
Диск Google блокируется и вылетает на веб-странице, когда файлов слишком много.
Хлоя

cmd+ A для "Выбрать все" полезно здесь. Нажмите кнопку, чтобы отменить выбор, если необходимо.
Грэм П Хит

0

Лучший способ найти потребительский Gmail с общей папкой, в которой файлы и подпапки принадлежат разным людям: войдите в учетную запись, в которой хранятся файлы, перейдите в «Моя учетная запись» -> «Управление контентом» и загрузите все файлы. Почтовый индекс содержит все файлы в оригинальной структуре. Повторная загрузка (включая перезапись) всех файлов с учетной записью нового владельца.


0

Для пользователей Служб Google: администратор может войти на https://admin.google.com/ и перейти в Приложения> Службы Google> Диск> Передать права собственности. Эта операция делает файлы доступными для обоих пользователей, но рекурсивно меняет владельца каждого файла / папки с UserA на UserB; можно временно передать все себе, а затем быстро установить необходимые разрешения для каждого файла / папки.

Google - передать право собственности на документы Drive

введите описание изображения здесь


3
Это передало бы ВСЕ файлы другому пользователю. Мне нужно что-то, что займет подмножество файлов и поменяет владельца.
Дэн Мандл

Это используется, когда другой аккаунт собирается удалить.
thanos.a

Извините, недостаточно четко. Дело в том, что можно временно передать все себе, а затем быстро установить необходимые разрешения для каждого файла / папки.
sh78

1
@musophob Вы должны отредактировать свой ответ, включив в него свой последний комментарий. «Комментарии являются временными» Post-It «заметки, оставленные на вопрос или ответ».
Видар С. Рамдал

@ VidarS.Ramdal хороший звонок!
sh78

-3

Переместите файлы. Вы делаете папку доступной для нового владельца, а затем заставляете ее переместить все содержимое в новую папку. Это делает их все их, и первоначальный владелец теряет доступ. Они могут поделиться или нет.


4
-1: перемещение файлов не меняет владельца файла.
Рубен

1
Это также могло бы испортить файлы во всех ситуациях, кроме самых простых. Кроме того, может даже не быть возможности перемещать файлы в зависимости от разрешений и, если они принадлежат, это не будет проблемой. Более того, я не верю, что права доступа будут унаследованы от «папки», просто путем «перемещения» в нее файла / папки.
rainabba
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.