# Drive API . files

## Instance Methods

Creates a copy of a file and applies any requested updates with patch semantics.

Creates a new file.

Permanently deletes a file owned by the user without moving it to the trash. If the target is a folder, all descendants owned by the user are also deleted.

Permanently deletes all of the user's trashed files.

Exports a Google Doc to the requested MIME type and returns the exported content.

Exports a Google Doc to the requested MIME type and returns the exported content.

Generates a set of file IDs which can be provided in create requests.

Gets a file's metadata or content by ID.

Gets a file's metadata or content by ID.

Lists or searches files.

Retrieves the next page of results.

Updates a file's metadata and/or content with patch semantics.

Subscribes to changes to a file

Subscribes to changes to a file

### Method Details

`copy(fileId, body, keepRevisionForever=None, ignoreDefaultVisibility=None, ocrLanguage=None)`

    Creates a copy of a file and applies any requested updates with patch semantics.

    Args:
      fileId: string, The ID of the file. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The metadata for a file.
      "mimeType": "A String", # The MIME type of the file.
          # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
          # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
      "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
      "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
      "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
      "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
      "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
      "ownedByMe": True or False, # Whether the user owns the file.
      "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
      "id": "A String", # The ID of the file.
      "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
        "me": True or False, # Whether this user is the requesting user.
        "kind": "drive#user", # This is always drive#user.
        "displayName": "A String", # A plain text displayable name for this user.
        "permissionId": "A String", # The user's ID as visible in Permission resources.
        "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
        "photoLink": "A String", # A link to the user's profile photo, if available.
      },
      "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
      "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
        "width": 42, # The width of the video in pixels.
        "durationMillis": "A String", # The duration of the video in milliseconds.
        "height": 42, # The height of the video in pixels.
      },
      "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
        "me": True or False, # Whether this user is the requesting user.
        "kind": "drive#user", # This is always drive#user.
        "displayName": "A String", # A plain text displayable name for this user.
        "permissionId": "A String", # The user's ID as visible in Permission resources.
        "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
        "photoLink": "A String", # A link to the user's profile photo, if available.
      },
      "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
          # If an unsupported color is specified, the closest color in the palette will be used instead.
      "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
          # Entries with null values are cleared in update and copy requests.
        "a_key": "A String",
      },
      "capabilities": { # Capabilities the current user has on the file.
        "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
        "canCopy": True or False, # Whether the user can copy the file.
        "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
        "canEdit": True or False, # Whether the user can edit the file's content.
        "canComment": True or False, # Whether the user can comment on the file.
      },
      "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
      "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
      "parents": [ # The IDs of the parent folders which contain the file.
          # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
        "A String",
      ],
      "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
      "shared": True or False, # Whether the file has been shared.
      "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
        { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
          "domain": "A String", # The domain to which this permission refers.
          "displayName": "A String", # A displayable name for users, groups or domains.
          "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
          "kind": "drive#permission", # This is always drive#permission.
          "emailAddress": "A String", # The email address of the user or group to which this permission refers.
          "photoLink": "A String", # A link to the user's profile photo, if available.
          "role": "A String", # The role granted by this permission. Valid values are:
              # - owner
              # - writer
              # - commenter
              # - reader
          "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
          "type": "A String", # The type of the grantee. Valid values are:
              # - user
              # - group
              # - domain
              # - anyone
          "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
        },
      ],
      "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
          # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
      "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
      "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
      "description": "A String", # A short description of the file.
      "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
          # Note that setting modifiedTime will also update modifiedByMeTime for the user.
      "viewedByMe": True or False, # Whether the file has been viewed by this user.
      "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
        { # Information about a Drive user.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
      ],
      "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
      "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
      "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
          # Entries with null values are cleared in update and copy requests.
        "a_key": "A String",
      },
      "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
      "iconLink": "A String", # A static, unauthenticated link to the file's icon.
      "imageMediaMetadata": { # Additional metadata about image media, if available.
        "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
        "exposureTime": 3.14, # The length of the exposure, in seconds.
        "cameraMake": "A String", # The make of the camera used to create the photo.
        "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
        "width": 42, # The width of the image in pixels.
        "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
        "exposureMode": "A String", # The exposure mode used to create the photo.
        "colorSpace": "A String", # The color space of the photo.
        "location": { # Geographic location information stored in the image.
          "latitude": 3.14, # The latitude stored in the image.
          "altitude": 3.14, # The altitude stored in the image.
          "longitude": 3.14, # The longitude stored in the image.
        },
        "subjectDistance": 42, # The distance to the subject of the photo, in meters.
        "height": 42, # The height of the image in pixels.
        "lens": "A String", # The lens used to create the photo.
        "isoSpeed": 42, # The ISO speed used to create the photo.
        "meteringMode": "A String", # The metering mode used to create the photo.
        "flashUsed": True or False, # Whether a flash was used to create the photo.
        "time": "A String", # The date and time the photo was taken (EXIF DateTime).
        "aperture": 3.14, # The aperture used to create the photo (f-number).
        "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
        "sensor": "A String", # The type of sensor used to create the photo.
        "whiteBalance": "A String", # The white balance mode used to create the photo.
        "cameraModel": "A String", # The model of the camera used to create the photo.
      },
      "kind": "drive#file", # This is always drive#file.
      "name": "A String", # The name of the file. This is not necessarily unique within a folder.
      "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
      "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
        "A String",
      ],
      "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
      "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
        "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
        "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
          "mimeType": "A String", # The MIME type of the thumbnail.
          "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
        },
      },
      "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
      "starred": True or False, # Whether the user has starred the file.
      "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
    }

      keepRevisionForever: boolean, Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
      ignoreDefaultVisibility: boolean, Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders.
      ocrLanguage: string, A language hint for OCR processing during image import (ISO 639-1 code).

    Returns:
      An object of the form:

        { # The metadata for a file.
        "mimeType": "A String", # The MIME type of the file.
            # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
            # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
        "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
        "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
        "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
        "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
        "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
        "ownedByMe": True or False, # Whether the user owns the file.
        "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
        "id": "A String", # The ID of the file.
        "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
        "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
          "width": 42, # The width of the video in pixels.
          "durationMillis": "A String", # The duration of the video in milliseconds.
          "height": 42, # The height of the video in pixels.
        },
        "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
            # If an unsupported color is specified, the closest color in the palette will be used instead.
        "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "capabilities": { # Capabilities the current user has on the file.
          "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
          "canCopy": True or False, # Whether the user can copy the file.
          "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
          "canEdit": True or False, # Whether the user can edit the file's content.
          "canComment": True or False, # Whether the user can comment on the file.
        },
        "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
        "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
        "parents": [ # The IDs of the parent folders which contain the file.
            # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
          "A String",
        ],
        "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
        "shared": True or False, # Whether the file has been shared.
        "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
          { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
            "domain": "A String", # The domain to which this permission refers.
            "displayName": "A String", # A displayable name for users, groups or domains.
            "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
            "kind": "drive#permission", # This is always drive#permission.
            "emailAddress": "A String", # The email address of the user or group to which this permission refers.
            "photoLink": "A String", # A link to the user's profile photo, if available.
            "role": "A String", # The role granted by this permission. Valid values are:
                # - owner
                # - writer
                # - commenter
                # - reader
            "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
            "type": "A String", # The type of the grantee. Valid values are:
                # - user
                # - group
                # - domain
                # - anyone
            "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
          },
        ],
        "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
            # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
        "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
        "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
        "description": "A String", # A short description of the file.
        "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
            # Note that setting modifiedTime will also update modifiedByMeTime for the user.
        "viewedByMe": True or False, # Whether the file has been viewed by this user.
        "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
          { # Information about a Drive user.
            "me": True or False, # Whether this user is the requesting user.
            "kind": "drive#user", # This is always drive#user.
            "displayName": "A String", # A plain text displayable name for this user.
            "permissionId": "A String", # The user's ID as visible in Permission resources.
            "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
            "photoLink": "A String", # A link to the user's profile photo, if available.
          },
        ],
        "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
        "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
        "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
        "iconLink": "A String", # A static, unauthenticated link to the file's icon.
        "imageMediaMetadata": { # Additional metadata about image media, if available.
          "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
          "exposureTime": 3.14, # The length of the exposure, in seconds.
          "cameraMake": "A String", # The make of the camera used to create the photo.
          "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
          "width": 42, # The width of the image in pixels.
          "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
          "exposureMode": "A String", # The exposure mode used to create the photo.
          "colorSpace": "A String", # The color space of the photo.
          "location": { # Geographic location information stored in the image.
            "latitude": 3.14, # The latitude stored in the image.
            "altitude": 3.14, # The altitude stored in the image.
            "longitude": 3.14, # The longitude stored in the image.
          },
          "subjectDistance": 42, # The distance to the subject of the photo, in meters.
          "height": 42, # The height of the image in pixels.
          "lens": "A String", # The lens used to create the photo.
          "isoSpeed": 42, # The ISO speed used to create the photo.
          "meteringMode": "A String", # The metering mode used to create the photo.
          "flashUsed": True or False, # Whether a flash was used to create the photo.
          "time": "A String", # The date and time the photo was taken (EXIF DateTime).
          "aperture": 3.14, # The aperture used to create the photo (f-number).
          "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
          "sensor": "A String", # The type of sensor used to create the photo.
          "whiteBalance": "A String", # The white balance mode used to create the photo.
          "cameraModel": "A String", # The model of the camera used to create the photo.
        },
        "kind": "drive#file", # This is always drive#file.
        "name": "A String", # The name of the file. This is not necessarily unique within a folder.
        "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
        "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
          "A String",
        ],
        "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
        "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
          "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
          "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
            "mimeType": "A String", # The MIME type of the thumbnail.
            "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
          },
        },
        "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
        "starred": True or False, # Whether the user has starred the file.
        "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
      }

`create(body=None, media_body=None, keepRevisionForever=None, useContentAsIndexableText=None, ignoreDefaultVisibility=None, ocrLanguage=None)`

    Creates a new file.

    Args:
      body: object, The request body.
        The object takes the form of:

    { # The metadata for a file.
      "mimeType": "A String", # The MIME type of the file.
          # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
          # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
      "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
      "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
      "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
      "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
      "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
      "ownedByMe": True or False, # Whether the user owns the file.
      "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
      "id": "A String", # The ID of the file.
      "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
        "me": True or False, # Whether this user is the requesting user.
        "kind": "drive#user", # This is always drive#user.
        "displayName": "A String", # A plain text displayable name for this user.
        "permissionId": "A String", # The user's ID as visible in Permission resources.
        "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
        "photoLink": "A String", # A link to the user's profile photo, if available.
      },
      "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
      "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
        "width": 42, # The width of the video in pixels.
        "durationMillis": "A String", # The duration of the video in milliseconds.
        "height": 42, # The height of the video in pixels.
      },
      "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
        "me": True or False, # Whether this user is the requesting user.
        "kind": "drive#user", # This is always drive#user.
        "displayName": "A String", # A plain text displayable name for this user.
        "permissionId": "A String", # The user's ID as visible in Permission resources.
        "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
        "photoLink": "A String", # A link to the user's profile photo, if available.
      },
      "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
          # If an unsupported color is specified, the closest color in the palette will be used instead.
      "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
          # Entries with null values are cleared in update and copy requests.
        "a_key": "A String",
      },
      "capabilities": { # Capabilities the current user has on the file.
        "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
        "canCopy": True or False, # Whether the user can copy the file.
        "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
        "canEdit": True or False, # Whether the user can edit the file's content.
        "canComment": True or False, # Whether the user can comment on the file.
      },
      "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
      "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
      "parents": [ # The IDs of the parent folders which contain the file.
          # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
        "A String",
      ],
      "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
      "shared": True or False, # Whether the file has been shared.
      "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
        { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
          "domain": "A String", # The domain to which this permission refers.
          "displayName": "A String", # A displayable name for users, groups or domains.
          "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
          "kind": "drive#permission", # This is always drive#permission.
          "emailAddress": "A String", # The email address of the user or group to which this permission refers.
          "photoLink": "A String", # A link to the user's profile photo, if available.
          "role": "A String", # The role granted by this permission. Valid values are:
              # - owner
              # - writer
              # - commenter
              # - reader
          "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
          "type": "A String", # The type of the grantee. Valid values are:
              # - user
              # - group
              # - domain
              # - anyone
          "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
        },
      ],
      "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
          # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
      "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
      "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
      "description": "A String", # A short description of the file.
      "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
          # Note that setting modifiedTime will also update modifiedByMeTime for the user.
      "viewedByMe": True or False, # Whether the file has been viewed by this user.
      "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
        { # Information about a Drive user.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
      ],
      "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
      "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
      "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
          # Entries with null values are cleared in update and copy requests.
        "a_key": "A String",
      },
      "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
      "iconLink": "A String", # A static, unauthenticated link to the file's icon.
      "imageMediaMetadata": { # Additional metadata about image media, if available.
        "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
        "exposureTime": 3.14, # The length of the exposure, in seconds.
        "cameraMake": "A String", # The make of the camera used to create the photo.
        "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
        "width": 42, # The width of the image in pixels.
        "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
        "exposureMode": "A String", # The exposure mode used to create the photo.
        "colorSpace": "A String", # The color space of the photo.
        "location": { # Geographic location information stored in the image.
          "latitude": 3.14, # The latitude stored in the image.
          "altitude": 3.14, # The altitude stored in the image.
          "longitude": 3.14, # The longitude stored in the image.
        },
        "subjectDistance": 42, # The distance to the subject of the photo, in meters.
        "height": 42, # The height of the image in pixels.
        "lens": "A String", # The lens used to create the photo.
        "isoSpeed": 42, # The ISO speed used to create the photo.
        "meteringMode": "A String", # The metering mode used to create the photo.
        "flashUsed": True or False, # Whether a flash was used to create the photo.
        "time": "A String", # The date and time the photo was taken (EXIF DateTime).
        "aperture": 3.14, # The aperture used to create the photo (f-number).
        "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
        "sensor": "A String", # The type of sensor used to create the photo.
        "whiteBalance": "A String", # The white balance mode used to create the photo.
        "cameraModel": "A String", # The model of the camera used to create the photo.
      },
      "kind": "drive#file", # This is always drive#file.
      "name": "A String", # The name of the file. This is not necessarily unique within a folder.
      "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
      "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
        "A String",
      ],
      "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
      "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
        "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
        "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
          "mimeType": "A String", # The MIME type of the thumbnail.
          "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
        },
      },
      "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
      "starred": True or False, # Whether the user has starred the file.
      "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
    }

      media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
      keepRevisionForever: boolean, Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
      useContentAsIndexableText: boolean, Whether to use the uploaded content as indexable text.
      ignoreDefaultVisibility: boolean, Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders.
      ocrLanguage: string, A language hint for OCR processing during image import (ISO 639-1 code).

    Returns:
      An object of the form:

        { # The metadata for a file.
        "mimeType": "A String", # The MIME type of the file.
            # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
            # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
        "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
        "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
        "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
        "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
        "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
        "ownedByMe": True or False, # Whether the user owns the file.
        "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
        "id": "A String", # The ID of the file.
        "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
        "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
          "width": 42, # The width of the video in pixels.
          "durationMillis": "A String", # The duration of the video in milliseconds.
          "height": 42, # The height of the video in pixels.
        },
        "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
            # If an unsupported color is specified, the closest color in the palette will be used instead.
        "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "capabilities": { # Capabilities the current user has on the file.
          "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
          "canCopy": True or False, # Whether the user can copy the file.
          "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
          "canEdit": True or False, # Whether the user can edit the file's content.
          "canComment": True or False, # Whether the user can comment on the file.
        },
        "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
        "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
        "parents": [ # The IDs of the parent folders which contain the file.
            # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
          "A String",
        ],
        "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
        "shared": True or False, # Whether the file has been shared.
        "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
          { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
            "domain": "A String", # The domain to which this permission refers.
            "displayName": "A String", # A displayable name for users, groups or domains.
            "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
            "kind": "drive#permission", # This is always drive#permission.
            "emailAddress": "A String", # The email address of the user or group to which this permission refers.
            "photoLink": "A String", # A link to the user's profile photo, if available.
            "role": "A String", # The role granted by this permission. Valid values are:
                # - owner
                # - writer
                # - commenter
                # - reader
            "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
            "type": "A String", # The type of the grantee. Valid values are:
                # - user
                # - group
                # - domain
                # - anyone
            "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
          },
        ],
        "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
            # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
        "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
        "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
        "description": "A String", # A short description of the file.
        "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
            # Note that setting modifiedTime will also update modifiedByMeTime for the user.
        "viewedByMe": True or False, # Whether the file has been viewed by this user.
        "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
          { # Information about a Drive user.
            "me": True or False, # Whether this user is the requesting user.
            "kind": "drive#user", # This is always drive#user.
            "displayName": "A String", # A plain text displayable name for this user.
            "permissionId": "A String", # The user's ID as visible in Permission resources.
            "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
            "photoLink": "A String", # A link to the user's profile photo, if available.
          },
        ],
        "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
        "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
        "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
        "iconLink": "A String", # A static, unauthenticated link to the file's icon.
        "imageMediaMetadata": { # Additional metadata about image media, if available.
          "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
          "exposureTime": 3.14, # The length of the exposure, in seconds.
          "cameraMake": "A String", # The make of the camera used to create the photo.
          "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
          "width": 42, # The width of the image in pixels.
          "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
          "exposureMode": "A String", # The exposure mode used to create the photo.
          "colorSpace": "A String", # The color space of the photo.
          "location": { # Geographic location information stored in the image.
            "latitude": 3.14, # The latitude stored in the image.
            "altitude": 3.14, # The altitude stored in the image.
            "longitude": 3.14, # The longitude stored in the image.
          },
          "subjectDistance": 42, # The distance to the subject of the photo, in meters.
          "height": 42, # The height of the image in pixels.
          "lens": "A String", # The lens used to create the photo.
          "isoSpeed": 42, # The ISO speed used to create the photo.
          "meteringMode": "A String", # The metering mode used to create the photo.
          "flashUsed": True or False, # Whether a flash was used to create the photo.
          "time": "A String", # The date and time the photo was taken (EXIF DateTime).
          "aperture": 3.14, # The aperture used to create the photo (f-number).
          "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
          "sensor": "A String", # The type of sensor used to create the photo.
          "whiteBalance": "A String", # The white balance mode used to create the photo.
          "cameraModel": "A String", # The model of the camera used to create the photo.
        },
        "kind": "drive#file", # This is always drive#file.
        "name": "A String", # The name of the file. This is not necessarily unique within a folder.
        "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
        "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
          "A String",
        ],
        "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
        "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
          "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
          "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
            "mimeType": "A String", # The MIME type of the thumbnail.
            "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
          },
        },
        "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
        "starred": True or False, # Whether the user has starred the file.
        "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
      }

`delete(fileId)`

    Permanently deletes a file owned by the user without moving it to the trash. If the target is a folder, all descendants owned by the user are also deleted.

    Args:
      fileId: string, The ID of the file. (required)

`emptyTrash()`

    Permanently deletes all of the user's trashed files.

    Args:

`export(fileId, mimeType)`

    Exports a Google Doc to the requested MIME type and returns the exported content.

    Args:
      fileId: string, The ID of the file. (required)
      mimeType: string, The MIME type of the format requested for this export. (required)

`export_media(fileId, mimeType)`

    Exports a Google Doc to the requested MIME type and returns the exported content.

    Args:
      fileId: string, The ID of the file. (required)
      mimeType: string, The MIME type of the format requested for this export. (required)

`generateIds(count=None, space=None)`

    Generates a set of file IDs which can be provided in create requests.

    Args:
      count: integer, The number of IDs to return.
      space: string, The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.

    Returns:
      An object of the form:

        { # A list of generated file IDs which can be provided in create requests.
        "kind": "drive#generatedIds", # This is always drive#generatedIds
        "ids": [ # The IDs generated for the requesting user in the specified space.
          "A String",
        ],
        "space": "A String", # The type of file that can be created with these IDs.
      }

`get(fileId, acknowledgeAbuse=None)`

    Gets a file's metadata or content by ID.

    Args:
      fileId: string, The ID of the file. (required)
      acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media.

    Returns:
      An object of the form:

        { # The metadata for a file.
        "mimeType": "A String", # The MIME type of the file.
            # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
            # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
        "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
        "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
        "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
        "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
        "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
        "ownedByMe": True or False, # Whether the user owns the file.
        "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
        "id": "A String", # The ID of the file.
        "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
        "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
          "width": 42, # The width of the video in pixels.
          "durationMillis": "A String", # The duration of the video in milliseconds.
          "height": 42, # The height of the video in pixels.
        },
        "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
            # If an unsupported color is specified, the closest color in the palette will be used instead.
        "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "capabilities": { # Capabilities the current user has on the file.
          "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
          "canCopy": True or False, # Whether the user can copy the file.
          "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
          "canEdit": True or False, # Whether the user can edit the file's content.
          "canComment": True or False, # Whether the user can comment on the file.
        },
        "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
        "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
        "parents": [ # The IDs of the parent folders which contain the file.
            # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
          "A String",
        ],
        "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
        "shared": True or False, # Whether the file has been shared.
        "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
          { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
            "domain": "A String", # The domain to which this permission refers.
            "displayName": "A String", # A displayable name for users, groups or domains.
            "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
            "kind": "drive#permission", # This is always drive#permission.
            "emailAddress": "A String", # The email address of the user or group to which this permission refers.
            "photoLink": "A String", # A link to the user's profile photo, if available.
            "role": "A String", # The role granted by this permission. Valid values are:
                # - owner
                # - writer
                # - commenter
                # - reader
            "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
            "type": "A String", # The type of the grantee. Valid values are:
                # - user
                # - group
                # - domain
                # - anyone
            "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
          },
        ],
        "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
            # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
        "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
        "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
        "description": "A String", # A short description of the file.
        "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
            # Note that setting modifiedTime will also update modifiedByMeTime for the user.
        "viewedByMe": True or False, # Whether the file has been viewed by this user.
        "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
          { # Information about a Drive user.
            "me": True or False, # Whether this user is the requesting user.
            "kind": "drive#user", # This is always drive#user.
            "displayName": "A String", # A plain text displayable name for this user.
            "permissionId": "A String", # The user's ID as visible in Permission resources.
            "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
            "photoLink": "A String", # A link to the user's profile photo, if available.
          },
        ],
        "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
        "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
        "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
        "iconLink": "A String", # A static, unauthenticated link to the file's icon.
        "imageMediaMetadata": { # Additional metadata about image media, if available.
          "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
          "exposureTime": 3.14, # The length of the exposure, in seconds.
          "cameraMake": "A String", # The make of the camera used to create the photo.
          "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
          "width": 42, # The width of the image in pixels.
          "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
          "exposureMode": "A String", # The exposure mode used to create the photo.
          "colorSpace": "A String", # The color space of the photo.
          "location": { # Geographic location information stored in the image.
            "latitude": 3.14, # The latitude stored in the image.
            "altitude": 3.14, # The altitude stored in the image.
            "longitude": 3.14, # The longitude stored in the image.
          },
          "subjectDistance": 42, # The distance to the subject of the photo, in meters.
          "height": 42, # The height of the image in pixels.
          "lens": "A String", # The lens used to create the photo.
          "isoSpeed": 42, # The ISO speed used to create the photo.
          "meteringMode": "A String", # The metering mode used to create the photo.
          "flashUsed": True or False, # Whether a flash was used to create the photo.
          "time": "A String", # The date and time the photo was taken (EXIF DateTime).
          "aperture": 3.14, # The aperture used to create the photo (f-number).
          "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
          "sensor": "A String", # The type of sensor used to create the photo.
          "whiteBalance": "A String", # The white balance mode used to create the photo.
          "cameraModel": "A String", # The model of the camera used to create the photo.
        },
        "kind": "drive#file", # This is always drive#file.
        "name": "A String", # The name of the file. This is not necessarily unique within a folder.
        "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
        "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
          "A String",
        ],
        "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
        "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
          "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
          "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
            "mimeType": "A String", # The MIME type of the thumbnail.
            "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
          },
        },
        "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
        "starred": True or False, # Whether the user has starred the file.
        "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
      }

`get_media(fileId, acknowledgeAbuse=None)`

    Gets a file's metadata or content by ID.

    Args:
      fileId: string, The ID of the file. (required)
      acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media.

    Returns:
      The media object as a string.

`list(orderBy=None, q=None, pageSize=None, pageToken=None, spaces=None, corpus=None)`

    Lists or searches files.

    Args:
      orderBy: string, A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.
      q: string, A query for filtering the file results. See the "Search for Files" guide for supported syntax.
      pageSize: integer, The maximum number of files to return per page.
      pageToken: string, The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response.
      spaces: string, A comma-separated list of spaces to query within the corpus. Supported values are 'drive', 'appDataFolder' and 'photos'.
      corpus: string, The source of files to list.
        Allowed values
          domain - Files shared to the user's domain.
          user - Files owned by or shared to the user.

    Returns:
      An object of the form:

        { # A list of files.
        "files": [ # The page of files.
          { # The metadata for a file.
            "mimeType": "A String", # The MIME type of the file.
                # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
                # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
            "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
            "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
            "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
            "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
            "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
            "ownedByMe": True or False, # Whether the user owns the file.
            "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
            "id": "A String", # The ID of the file.
            "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
              "me": True or False, # Whether this user is the requesting user.
              "kind": "drive#user", # This is always drive#user.
              "displayName": "A String", # A plain text displayable name for this user.
              "permissionId": "A String", # The user's ID as visible in Permission resources.
              "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
              "photoLink": "A String", # A link to the user's profile photo, if available.
            },
            "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
            "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
              "width": 42, # The width of the video in pixels.
              "durationMillis": "A String", # The duration of the video in milliseconds.
              "height": 42, # The height of the video in pixels.
            },
            "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
              "me": True or False, # Whether this user is the requesting user.
              "kind": "drive#user", # This is always drive#user.
              "displayName": "A String", # A plain text displayable name for this user.
              "permissionId": "A String", # The user's ID as visible in Permission resources.
              "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
              "photoLink": "A String", # A link to the user's profile photo, if available.
            },
            "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
                # If an unsupported color is specified, the closest color in the palette will be used instead.
            "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
                # Entries with null values are cleared in update and copy requests.
              "a_key": "A String",
            },
            "capabilities": { # Capabilities the current user has on the file.
              "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
              "canCopy": True or False, # Whether the user can copy the file.
              "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
              "canEdit": True or False, # Whether the user can edit the file's content.
              "canComment": True or False, # Whether the user can comment on the file.
            },
            "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
            "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
            "parents": [ # The IDs of the parent folders which contain the file.
                # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
              "A String",
            ],
            "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
            "shared": True or False, # Whether the file has been shared.
            "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
              { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
                "domain": "A String", # The domain to which this permission refers.
                "displayName": "A String", # A displayable name for users, groups or domains.
                "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
                "kind": "drive#permission", # This is always drive#permission.
                "emailAddress": "A String", # The email address of the user or group to which this permission refers.
                "photoLink": "A String", # A link to the user's profile photo, if available.
                "role": "A String", # The role granted by this permission. Valid values are:
                    # - owner
                    # - writer
                    # - commenter
                    # - reader
                "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
                "type": "A String", # The type of the grantee. Valid values are:
                    # - user
                    # - group
                    # - domain
                    # - anyone
                "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
              },
            ],
            "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
                # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
            "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
            "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
            "description": "A String", # A short description of the file.
            "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
                # Note that setting modifiedTime will also update modifiedByMeTime for the user.
            "viewedByMe": True or False, # Whether the file has been viewed by this user.
            "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
              { # Information about a Drive user.
                "me": True or False, # Whether this user is the requesting user.
                "kind": "drive#user", # This is always drive#user.
                "displayName": "A String", # A plain text displayable name for this user.
                "permissionId": "A String", # The user's ID as visible in Permission resources.
                "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
                "photoLink": "A String", # A link to the user's profile photo, if available.
              },
            ],
            "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
            "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
            "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
                # Entries with null values are cleared in update and copy requests.
              "a_key": "A String",
            },
            "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
            "iconLink": "A String", # A static, unauthenticated link to the file's icon.
            "imageMediaMetadata": { # Additional metadata about image media, if available.
              "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
              "exposureTime": 3.14, # The length of the exposure, in seconds.
              "cameraMake": "A String", # The make of the camera used to create the photo.
              "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
              "width": 42, # The width of the image in pixels.
              "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
              "exposureMode": "A String", # The exposure mode used to create the photo.
              "colorSpace": "A String", # The color space of the photo.
              "location": { # Geographic location information stored in the image.
                "latitude": 3.14, # The latitude stored in the image.
                "altitude": 3.14, # The altitude stored in the image.
                "longitude": 3.14, # The longitude stored in the image.
              },
              "subjectDistance": 42, # The distance to the subject of the photo, in meters.
              "height": 42, # The height of the image in pixels.
              "lens": "A String", # The lens used to create the photo.
              "isoSpeed": 42, # The ISO speed used to create the photo.
              "meteringMode": "A String", # The metering mode used to create the photo.
              "flashUsed": True or False, # Whether a flash was used to create the photo.
              "time": "A String", # The date and time the photo was taken (EXIF DateTime).
              "aperture": 3.14, # The aperture used to create the photo (f-number).
              "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
              "sensor": "A String", # The type of sensor used to create the photo.
              "whiteBalance": "A String", # The white balance mode used to create the photo.
              "cameraModel": "A String", # The model of the camera used to create the photo.
            },
            "kind": "drive#file", # This is always drive#file.
            "name": "A String", # The name of the file. This is not necessarily unique within a folder.
            "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
            "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
              "A String",
            ],
            "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
            "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
              "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
              "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
                "mimeType": "A String", # The MIME type of the thumbnail.
                "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
              },
            },
            "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
            "starred": True or False, # Whether the user has starred the file.
            "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
          },
        ],
        "nextPageToken": "A String", # The page token for the next page of files. This will be absent if the end of the files list has been reached.
        "kind": "drive#fileList", # This is always drive#fileList.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`update(fileId, body=None, media_body=None, addParents=None, removeParents=None, useContentAsIndexableText=None, keepRevisionForever=None, ocrLanguage=None)`

    Updates a file's metadata and/or content with patch semantics.

    Args:
      fileId: string, The ID of the file. (required)
      body: object, The request body.
        The object takes the form of:

    { # The metadata for a file.
      "mimeType": "A String", # The MIME type of the file.
          # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
          # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
      "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
      "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
      "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
      "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
      "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
      "ownedByMe": True or False, # Whether the user owns the file.
      "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
      "id": "A String", # The ID of the file.
      "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
        "me": True or False, # Whether this user is the requesting user.
        "kind": "drive#user", # This is always drive#user.
        "displayName": "A String", # A plain text displayable name for this user.
        "permissionId": "A String", # The user's ID as visible in Permission resources.
        "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
        "photoLink": "A String", # A link to the user's profile photo, if available.
      },
      "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
      "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
        "width": 42, # The width of the video in pixels.
        "durationMillis": "A String", # The duration of the video in milliseconds.
        "height": 42, # The height of the video in pixels.
      },
      "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
        "me": True or False, # Whether this user is the requesting user.
        "kind": "drive#user", # This is always drive#user.
        "displayName": "A String", # A plain text displayable name for this user.
        "permissionId": "A String", # The user's ID as visible in Permission resources.
        "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
        "photoLink": "A String", # A link to the user's profile photo, if available.
      },
      "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
          # If an unsupported color is specified, the closest color in the palette will be used instead.
      "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
          # Entries with null values are cleared in update and copy requests.
        "a_key": "A String",
      },
      "capabilities": { # Capabilities the current user has on the file.
        "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
        "canCopy": True or False, # Whether the user can copy the file.
        "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
        "canEdit": True or False, # Whether the user can edit the file's content.
        "canComment": True or False, # Whether the user can comment on the file.
      },
      "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
      "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
      "parents": [ # The IDs of the parent folders which contain the file.
          # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
        "A String",
      ],
      "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
      "shared": True or False, # Whether the file has been shared.
      "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
        { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
          "domain": "A String", # The domain to which this permission refers.
          "displayName": "A String", # A displayable name for users, groups or domains.
          "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
          "kind": "drive#permission", # This is always drive#permission.
          "emailAddress": "A String", # The email address of the user or group to which this permission refers.
          "photoLink": "A String", # A link to the user's profile photo, if available.
          "role": "A String", # The role granted by this permission. Valid values are:
              # - owner
              # - writer
              # - commenter
              # - reader
          "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
          "type": "A String", # The type of the grantee. Valid values are:
              # - user
              # - group
              # - domain
              # - anyone
          "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
        },
      ],
      "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
          # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
      "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
      "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
      "description": "A String", # A short description of the file.
      "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
          # Note that setting modifiedTime will also update modifiedByMeTime for the user.
      "viewedByMe": True or False, # Whether the file has been viewed by this user.
      "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
        { # Information about a Drive user.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
      ],
      "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
      "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
      "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
          # Entries with null values are cleared in update and copy requests.
        "a_key": "A String",
      },
      "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
      "iconLink": "A String", # A static, unauthenticated link to the file's icon.
      "imageMediaMetadata": { # Additional metadata about image media, if available.
        "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
        "exposureTime": 3.14, # The length of the exposure, in seconds.
        "cameraMake": "A String", # The make of the camera used to create the photo.
        "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
        "width": 42, # The width of the image in pixels.
        "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
        "exposureMode": "A String", # The exposure mode used to create the photo.
        "colorSpace": "A String", # The color space of the photo.
        "location": { # Geographic location information stored in the image.
          "latitude": 3.14, # The latitude stored in the image.
          "altitude": 3.14, # The altitude stored in the image.
          "longitude": 3.14, # The longitude stored in the image.
        },
        "subjectDistance": 42, # The distance to the subject of the photo, in meters.
        "height": 42, # The height of the image in pixels.
        "lens": "A String", # The lens used to create the photo.
        "isoSpeed": 42, # The ISO speed used to create the photo.
        "meteringMode": "A String", # The metering mode used to create the photo.
        "flashUsed": True or False, # Whether a flash was used to create the photo.
        "time": "A String", # The date and time the photo was taken (EXIF DateTime).
        "aperture": 3.14, # The aperture used to create the photo (f-number).
        "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
        "sensor": "A String", # The type of sensor used to create the photo.
        "whiteBalance": "A String", # The white balance mode used to create the photo.
        "cameraModel": "A String", # The model of the camera used to create the photo.
      },
      "kind": "drive#file", # This is always drive#file.
      "name": "A String", # The name of the file. This is not necessarily unique within a folder.
      "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
      "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
        "A String",
      ],
      "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
      "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
        "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
        "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
          "mimeType": "A String", # The MIME type of the thumbnail.
          "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
        },
      },
      "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
      "starred": True or False, # Whether the user has starred the file.
      "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
    }

      media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
      addParents: string, A comma-separated list of parent IDs to add.
      removeParents: string, A comma-separated list of parent IDs to remove.
      useContentAsIndexableText: boolean, Whether to use the uploaded content as indexable text.
      keepRevisionForever: boolean, Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
      ocrLanguage: string, A language hint for OCR processing during image import (ISO 639-1 code).

    Returns:
      An object of the form:

        { # The metadata for a file.
        "mimeType": "A String", # The MIME type of the file.
            # Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded.
            # If a file is created with a Google Doc MIME type, the uploaded content will be imported if possible. The supported import formats are published in the About resource.
        "modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time).
        "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours.
        "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
        "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app.
        "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions.
        "ownedByMe": True or False, # Whether the user owns the file.
        "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time).
        "id": "A String", # The ID of the file.
        "sharingUser": { # Information about a Drive user. # The user who shared the file with the requesting user, if applicable.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "size": "A String", # The size of the file's content in bytes. This is only applicable to files with binary content in Drive.
        "videoMediaMetadata": { # Additional metadata about video media. This may not be available immediately upon upload.
          "width": 42, # The width of the video in pixels.
          "durationMillis": "A String", # The duration of the video in milliseconds.
          "height": 42, # The height of the video in pixels.
        },
        "lastModifyingUser": { # Information about a Drive user. # The last user to modify the file.
          "me": True or False, # Whether this user is the requesting user.
          "kind": "drive#user", # This is always drive#user.
          "displayName": "A String", # A plain text displayable name for this user.
          "permissionId": "A String", # The user's ID as visible in Permission resources.
          "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
          "photoLink": "A String", # A link to the user's profile photo, if available.
        },
        "folderColorRgb": "A String", # The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.
            # If an unsupported color is specified, the closest color in the palette will be used instead.
        "appProperties": { # A collection of arbitrary key-value pairs which are private to the requesting app.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "capabilities": { # Capabilities the current user has on the file.
          "canReadRevisions": True or False, # Whether the current user has read access to the Revisions resource of the file.
          "canCopy": True or False, # Whether the user can copy the file.
          "canShare": True or False, # Whether the user can modify the file's permissions and sharing settings.
          "canEdit": True or False, # Whether the user can edit the file's content.
          "canComment": True or False, # Whether the user can comment on the file.
        },
        "webViewLink": "A String", # A link for opening the file in a relevant Google editor or viewer in a browser.
        "version": "A String", # A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user.
        "parents": [ # The IDs of the parent folders which contain the file.
            # If not specified as part of a create request, the file will be placed directly in the My Drive folder. Update requests must use the addParents and removeParents parameters to modify the values.
          "A String",
        ],
        "sharedWithMeTime": "A String", # The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
        "shared": True or False, # Whether the file has been shared.
        "permissions": [ # The full list of permissions for the file. This is only available if the requesting user can share the file.
          { # A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.
            "domain": "A String", # The domain to which this permission refers.
            "displayName": "A String", # A displayable name for users, groups or domains.
            "allowFileDiscovery": True or False, # Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone.
            "kind": "drive#permission", # This is always drive#permission.
            "emailAddress": "A String", # The email address of the user or group to which this permission refers.
            "photoLink": "A String", # A link to the user's profile photo, if available.
            "role": "A String", # The role granted by this permission. Valid values are:
                # - owner
                # - writer
                # - commenter
                # - reader
            "expirationTime": "A String", # The time at which this permission will expire (RFC 3339 date-time).
            "type": "A String", # The type of the grantee. Valid values are:
                # - user
                # - group
                # - domain
                # - anyone
            "id": "A String", # The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId.
          },
        ],
        "fullFileExtension": "A String", # The full file extension extracted from the name field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Drive.
            # This is automatically updated when the name field changes, however it is not cleared if the new name does not contain a valid extension.
        "originalFilename": "A String", # The original filename of the uploaded content if available, or else the original value of the name field. This is only available for files with binary content in Drive.
        "viewersCanCopyContent": True or False, # Whether users with only reader or commenter permission can copy the file's content. This affects copy, download, and print operations.
        "description": "A String", # A short description of the file.
        "modifiedTime": "A String", # The last time the file was modified by anyone (RFC 3339 date-time).
            # Note that setting modifiedTime will also update modifiedByMeTime for the user.
        "viewedByMe": True or False, # Whether the file has been viewed by this user.
        "owners": [ # The owners of the file. Currently, only certain legacy files may have more than one owner.
          { # Information about a Drive user.
            "me": True or False, # Whether this user is the requesting user.
            "kind": "drive#user", # This is always drive#user.
            "displayName": "A String", # A plain text displayable name for this user.
            "permissionId": "A String", # The user's ID as visible in Permission resources.
            "emailAddress": "A String", # The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester.
            "photoLink": "A String", # A link to the user's profile photo, if available.
          },
        ],
        "createdTime": "A String", # The time at which the file was created (RFC 3339 date-time).
        "quotaBytesUsed": "A String", # The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with keepForever enabled.
        "properties": { # A collection of arbitrary key-value pairs which are visible to all apps.
            # Entries with null values are cleared in update and copy requests.
          "a_key": "A String",
        },
        "md5Checksum": "A String", # The MD5 checksum for the content of the file. This is only applicable to files with binary content in Drive.
        "iconLink": "A String", # A static, unauthenticated link to the file's icon.
        "imageMediaMetadata": { # Additional metadata about image media, if available.
          "exposureBias": 3.14, # The exposure bias of the photo (APEX value).
          "exposureTime": 3.14, # The length of the exposure, in seconds.
          "cameraMake": "A String", # The make of the camera used to create the photo.
          "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
          "width": 42, # The width of the image in pixels.
          "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
          "exposureMode": "A String", # The exposure mode used to create the photo.
          "colorSpace": "A String", # The color space of the photo.
          "location": { # Geographic location information stored in the image.
            "latitude": 3.14, # The latitude stored in the image.
            "altitude": 3.14, # The altitude stored in the image.
            "longitude": 3.14, # The longitude stored in the image.
          },
          "subjectDistance": 42, # The distance to the subject of the photo, in meters.
          "height": 42, # The height of the image in pixels.
          "lens": "A String", # The lens used to create the photo.
          "isoSpeed": 42, # The ISO speed used to create the photo.
          "meteringMode": "A String", # The metering mode used to create the photo.
          "flashUsed": True or False, # Whether a flash was used to create the photo.
          "time": "A String", # The date and time the photo was taken (EXIF DateTime).
          "aperture": 3.14, # The aperture used to create the photo (f-number).
          "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
          "sensor": "A String", # The type of sensor used to create the photo.
          "whiteBalance": "A String", # The white balance mode used to create the photo.
          "cameraModel": "A String", # The model of the camera used to create the photo.
        },
        "kind": "drive#file", # This is always drive#file.
        "name": "A String", # The name of the file. This is not necessarily unique within a folder.
        "webContentLink": "A String", # A link for downloading the content of the file in a browser. This is only available for files with binary content in Drive.
        "spaces": [ # The list of spaces which contain the file. The currently supported values are 'drive', 'appDataFolder' and 'photos'.
          "A String",
        ],
        "trashed": True or False, # Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
        "contentHints": { # Additional information about the content of the file. These fields are never populated in responses.
          "indexableText": "A String", # Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements.
          "thumbnail": { # A thumbnail for the file. This will only be used if Drive cannot generate a standard thumbnail.
            "mimeType": "A String", # The MIME type of the thumbnail.
            "image": "A String", # The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5).
          },
        },
        "fileExtension": "A String", # The final component of fullFileExtension. This is only available for files with binary content in Drive.
        "starred": True or False, # Whether the user has starred the file.
        "headRevisionId": "A String", # The ID of the file's head revision. This is currently only available for files with binary content in Drive.
      }

`watch(fileId, body, acknowledgeAbuse=None)`

    Subscribes to changes to a file

    Args:
      fileId: string, The ID of the file. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # An notification channel used to watch for resource changes.
        "resourceUri": "A String", # A version-specific identifier for the watched resource.
        "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
        "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
        "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
        "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
        "params": { # Additional parameters controlling delivery channel behavior. Optional.
          "a_key": "A String", # Declares a new parameter by name.
        },
        "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
        "address": "A String", # The address where notifications are delivered for this channel.
        "type": "A String", # The type of delivery mechanism used for this channel.
        "id": "A String", # A UUID or similar unique string that identifies this channel.
      }

      acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media.

    Returns:
      An object of the form:

        { # An notification channel used to watch for resource changes.
          "resourceUri": "A String", # A version-specific identifier for the watched resource.
          "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
          "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
          "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
          "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
          "params": { # Additional parameters controlling delivery channel behavior. Optional.
            "a_key": "A String", # Declares a new parameter by name.
          },
          "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
          "address": "A String", # The address where notifications are delivered for this channel.
          "type": "A String", # The type of delivery mechanism used for this channel.
          "id": "A String", # A UUID or similar unique string that identifies this channel.
        }

`watch_media(fileId, body, acknowledgeAbuse=None)`

    Subscribes to changes to a file

    Args:
      fileId: string, The ID of the file. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # An notification channel used to watch for resource changes.
        "resourceUri": "A String", # A version-specific identifier for the watched resource.
        "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
        "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
        "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
        "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
        "params": { # Additional parameters controlling delivery channel behavior. Optional.
          "a_key": "A String", # Declares a new parameter by name.
        },
        "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
        "address": "A String", # The address where notifications are delivered for this channel.
        "type": "A String", # The type of delivery mechanism used for this channel.
        "id": "A String", # A UUID or similar unique string that identifies this channel.
      }

      acknowledgeAbuse: boolean, Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media.

    Returns:
      The media object as a string.