{"id":18653763,"url":"https://github.com/davidstrauss/google-drive-recursive-ownership","last_synced_at":"2025-04-06T00:07:37.250Z","repository":{"id":20782920,"uuid":"24067915","full_name":"davidstrauss/google-drive-recursive-ownership","owner":"davidstrauss","description":"Tool to recursively give away file and document ownership to another user.","archived":false,"fork":false,"pushed_at":"2024-03-20T06:12:11.000Z","size":28,"stargazers_count":277,"open_issues_count":21,"forks_count":71,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-29T23:08:09.814Z","etag":null,"topics":["google-docs","google-docs-api","google-drive","google-drive-api","gsuite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidstrauss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-09-15T18:22:06.000Z","updated_at":"2025-03-12T20:55:50.000Z","dependencies_parsed_at":"2024-12-23T21:10:34.796Z","dependency_job_id":"a8c34fee-69f0-4d7b-8537-cb159de642c5","html_url":"https://github.com/davidstrauss/google-drive-recursive-ownership","commit_stats":{"total_commits":29,"total_committers":10,"mean_commits":2.9,"dds":0.5862068965517242,"last_synced_commit":"bb8bc82fd72ea7ec334a9eaf38d391d2db1c14b6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidstrauss%2Fgoogle-drive-recursive-ownership","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidstrauss%2Fgoogle-drive-recursive-ownership/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidstrauss%2Fgoogle-drive-recursive-ownership/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidstrauss%2Fgoogle-drive-recursive-ownership/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidstrauss","download_url":"https://codeload.github.com/davidstrauss/google-drive-recursive-ownership/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415969,"owners_count":20935388,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-docs","google-docs-api","google-drive","google-drive-api","gsuite"],"created_at":"2024-11-07T07:13:07.032Z","updated_at":"2025-04-06T00:07:37.233Z","avatar_url":"https://github.com/davidstrauss.png","language":"Python","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# Google Drive Recursive Ownership Tool\n\n### Supported Files\n\nG Suite for Government and G Suite for Education accounts can change ownership of any file owned by the current user, including uploaded/synced files suchs as PDFs.\n\nOther Google Accounts such as G Suite for Business or Personal Google Accounts can only transfer ownership of Google files (Docs, Sheets, Sildes, Forms, Drawings, My Maps, and folders).\n\nNOTE: Ownership can only be transferred to members of the same G Suite or Google domain. Ex. @gmail.com can only transfer to other @gmail.com addresses.\n\nNOTE: The Google Drive API does not allow suppressing notifications for change of ownership if the _if_ the new owner does not already have access to the file. However, if the new owner _already_ has access to the file, upgrading their permissions to ownership will _not_ generate a notification.\n\n### Setup\n\n    git clone https://github.com/davidstrauss/google-drive-recursive-ownership\n    pip install --upgrade google-api-python-client oauth2client six\n\n### Usage\n\nFirst, replace the [sample](https://github.com/gsuitedevs/python-samples/blob/d4fa75401e9b637f67da6fe021801d8b4cbd8cd0/drive/driveapp/client_secrets.json) `client_secrets.json` with your own [client secrets](https://github.com/googleapis/google-api-python-client/blob/master/docs/client-secrets.md). Otherwise, authorizations you create will be usable by anyone with access to the sample key (the entire internet).\n\nNext, if `transfer.py` is contained in a folder listed in your system's `PATH` this can be run from anywhere. Otherwise it needs to be run from the directory where `transfer.py` is located.\n\n    python  transfer.py  PATH-PREFIX  NEW-OWNER-EMAIL  SHOW-ALREADY-OWNER\n    \n - `PATH-PREFIX` assumes use of \"/\" or \"\\\" as appropriate for your operating system.\n\n   * The `PATH-PREFIX` folder must be in **My Drive** section. For shared folders right click and select _Add to My Drive_.\n\n - `SHOW-ALREADY-OWNER` \"`true`\"|\"`false`\" (default `true`) to hide feedback for files already set correctly.\n    \nWindows Example:\n\n    python transfer.py \"Folder 1\\Folder 2\\Folder 3\" new_owner@example.com true\n\nMac/Linux Example:\n\n    python transfer.py \"Folder 1/Folder 2/Folder 3\" new_owner@example.com false\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidstrauss%2Fgoogle-drive-recursive-ownership","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidstrauss%2Fgoogle-drive-recursive-ownership","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidstrauss%2Fgoogle-drive-recursive-ownership/lists"}