Skip to content

iolib.drive

ghs_8r0vvYi2iPQVhT73iiQlYAGIt193sQ4E8XEE edited this page Nov 21, 2022 · 6 revisions

DrivePermissions

create

# iolib.drive.DrivePermissions.create
create(self, item_id, email, role, type=user)
Create a permission for a Google Drive item (file, folder or drive).

Parameters
----------
item_id : str
    Google Drive item id.
email : str
    Email for permission (user email, group email...).
role : str
    Permission role. This must be in (writer, commenter, reader).
type : str, default='user'
    Permission type. This must be in (user, group, domain, anyone)

Returns
-------
result : dict(id)
    Dictionary with permission id.

delete

# iolib.drive.DrivePermissions.delete
delete(self, item_id, permission_id)
Delete a permission for a Google Drive item (file, folder or drive).

Parameters
----------
item_id : str
    Google Drive item id.
permission_id : str
    Permission id.

Returns
-------
None

list

# iolib.drive.DrivePermissions.list
list(self, item_id)
List permissions for a given Google Drive item (file, folder or drive).

Parameters
----------
item_id : str
    Google Drive item id.

Returns
-------
df : pandas.DataFrame(id, type, email, role)

update

# iolib.drive.DrivePermissions.update
update(self, item_id, permission_id, role)
Update a permission for a Google Drive item (file, folder or drive).

Parameters
----------
item_id : str
    Google Drive item id.
permission_id : str
    Permission id.
role : str
    Permission role. This must be in (writer, commenter, reader).

Returns
-------
result : dict(id)
    Dictionary with permission id.

build

# iolib.drive.build
build(readonly=False, service_account_json=None)

list_drive

# iolib.drive.list_drive
list_drive(name=None, folder_id=None, mime_type=None, drive_id=None, service_account_json=None)
List files from Google Drive.

Parameters
----------
name : str, optional
    Google drive file name.
folder_id : str, optional
    Google drive folder id. Found in the url as
    https://drive.google.com/drive/folders/<folder_id>.
mime_type : str, optional
    Drive file mime type to filter.
    Example: 'application/vnd.google-apps.spreadsheet'.
drive_id : str, optional
    Shared drive if if any, formatted as folder_id.
service_account_json : str, optional
    Path to service account json file. Default as the one set in the
    environment as `GOOGLE_APPLICATION_CREDENTIALS`

Returns
-------
df : pandas.DataFrame(kind, id, name, mime_type)

list_drive_permissions

# iolib.drive.list_drive_permissions
list_drive_permissions(item_id=None, service_account_json=None)
List permissions for a given Google Drive item (file, folder or drive).

Parameters
----------
item_id : str
    Google Drive item id.
service_account_json : str, optional
    Path to service account json file. Default as the one set in the
    environment as `GOOGLE_APPLICATION_CREDENTIALS`

Returns
-------
df : pandas.DataFrame(id, type, email, role)

See also
--------
iolib.drive.DrivePermissions

set_drive_permissions

# iolib.drive.set_drive_permissions
set_drive_permissions(item_id, permissions, mode=update, service_account_json=None)
Set permissions to a given Google Drive item (file, folder or drive). The
permissions provided can either update or replace the existing ones (update
doesn't delete permissions). Owner permissions won't be deleted, even if
the owner is not part of the permissions passed and the mode is "replace".

Parameters
----------
item_id : str
    Google Drive item id.
permissions : list of dicts or pandas.DataFrame
    Permissions to set, with required fields "email" and "role", and
    optional field "type".
mode : str, default="update"
    Either "update" to create/update permissions, or "replace", to
    create/update/delete permissions.
service_account_json : str, optional
    Path to service account json file. Default as the one set in the
    environment as `GOOGLE_APPLICATION_CREDENTIALS`

Returns
-------
None

Clone this wiki locally