# Drive API . revisions

## Instance Methods

Permanently deletes a file version. You can only delete revisions for files with binary content, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted.

Gets a specific revision.

Lists a file's revisions.

Retrieves the next page of results.

Updates a revision. This method supports patch semantics.

Updates a revision.

### Method Details

`delete(fileId, revisionId)`

    Permanently deletes a file version. You can only delete revisions for files with binary content, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted.

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

`get(fileId, revisionId)`

    Gets a specific revision.

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

    Returns:
      An object of the form:

        { # A revision of a file.
          "mimeType": "A String", # The MIME type of the revision.
          "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
          "kind": "drive#revision", # This is always drive#revision.
          "publishedLink": "A String", # A link to the published revision.
          "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
          "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
            "picture": { # The user's profile picture.
              "url": "A String", # A URL that points to a profile picture of this 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 the permissions collection.
            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
            "emailAddress": "A String", # The email address of the user.
          },
          "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
          "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
          "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
          "selfLink": "A String", # A link back to this revision.
          "etag": "A String", # The ETag of the revision.
          "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
          "exportLinks": { # Links for exporting Google Docs to specific formats.
            "a_key": "A String", # A mapping from export format to URL
          },
          "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
          "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
          "id": "A String", # The ID of the revision.
          "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
          "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
        }

`list(fileId, pageToken=None, maxResults=None)`

    Lists a file's revisions.

    Args:
      fileId: string, The ID of the file. (required)
      pageToken: string, Page token for revisions. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
      maxResults: integer, Maximum number of revisions to return.

    Returns:
      An object of the form:

        { # A list of revisions of a file.
        "nextPageToken": "A String", # The page token for the next page of revisions. This field will be absent if the end of the revisions list has been reached. If the token is rejected for any reason, it should be discarded and pagination should be restarted from the first page of results.
        "items": [ # The list of revisions. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
          { # A revision of a file.
              "mimeType": "A String", # The MIME type of the revision.
              "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
              "kind": "drive#revision", # This is always drive#revision.
              "publishedLink": "A String", # A link to the published revision.
              "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
              "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
                "picture": { # The user's profile picture.
                  "url": "A String", # A URL that points to a profile picture of this 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 the permissions collection.
                "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
                "emailAddress": "A String", # The email address of the user.
              },
              "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
              "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
              "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
              "selfLink": "A String", # A link back to this revision.
              "etag": "A String", # The ETag of the revision.
              "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
              "exportLinks": { # Links for exporting Google Docs to specific formats.
                "a_key": "A String", # A mapping from export format to URL
              },
              "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
              "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
              "id": "A String", # The ID of the revision.
              "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
              "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
            },
        ],
        "kind": "drive#revisionList", # This is always drive#revisionList.
        "etag": "A String", # The ETag of the list.
        "selfLink": "A String", # A link back to this list.
      }

`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.

`patch(fileId, revisionId, body)`

    Updates a revision. This method supports patch semantics.

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

    { # A revision of a file.
        "mimeType": "A String", # The MIME type of the revision.
        "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
        "kind": "drive#revision", # This is always drive#revision.
        "publishedLink": "A String", # A link to the published revision.
        "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
        "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
          "picture": { # The user's profile picture.
            "url": "A String", # A URL that points to a profile picture of this 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 the permissions collection.
          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
          "emailAddress": "A String", # The email address of the user.
        },
        "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
        "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
        "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
        "selfLink": "A String", # A link back to this revision.
        "etag": "A String", # The ETag of the revision.
        "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
        "exportLinks": { # Links for exporting Google Docs to specific formats.
          "a_key": "A String", # A mapping from export format to URL
        },
        "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
        "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
        "id": "A String", # The ID of the revision.
        "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
        "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
      }

    Returns:
      An object of the form:

        { # A revision of a file.
          "mimeType": "A String", # The MIME type of the revision.
          "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
          "kind": "drive#revision", # This is always drive#revision.
          "publishedLink": "A String", # A link to the published revision.
          "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
          "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
            "picture": { # The user's profile picture.
              "url": "A String", # A URL that points to a profile picture of this 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 the permissions collection.
            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
            "emailAddress": "A String", # The email address of the user.
          },
          "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
          "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
          "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
          "selfLink": "A String", # A link back to this revision.
          "etag": "A String", # The ETag of the revision.
          "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
          "exportLinks": { # Links for exporting Google Docs to specific formats.
            "a_key": "A String", # A mapping from export format to URL
          },
          "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
          "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
          "id": "A String", # The ID of the revision.
          "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
          "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
        }

`update(fileId, revisionId, body)`

    Updates a revision.

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

    { # A revision of a file.
        "mimeType": "A String", # The MIME type of the revision.
        "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
        "kind": "drive#revision", # This is always drive#revision.
        "publishedLink": "A String", # A link to the published revision.
        "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
        "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
          "picture": { # The user's profile picture.
            "url": "A String", # A URL that points to a profile picture of this 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 the permissions collection.
          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
          "emailAddress": "A String", # The email address of the user.
        },
        "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
        "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
        "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
        "selfLink": "A String", # A link back to this revision.
        "etag": "A String", # The ETag of the revision.
        "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
        "exportLinks": { # Links for exporting Google Docs to specific formats.
          "a_key": "A String", # A mapping from export format to URL
        },
        "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
        "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
        "id": "A String", # The ID of the revision.
        "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
        "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
      }

    Returns:
      An object of the form:

        { # A revision of a file.
          "mimeType": "A String", # The MIME type of the revision.
          "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
          "kind": "drive#revision", # This is always drive#revision.
          "publishedLink": "A String", # A link to the published revision.
          "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
          "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
            "picture": { # The user's profile picture.
              "url": "A String", # A URL that points to a profile picture of this 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 the permissions collection.
            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
            "emailAddress": "A String", # The email address of the user.
          },
          "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
          "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
          "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
          "selfLink": "A String", # A link back to this revision.
          "etag": "A String", # The ETag of the revision.
          "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
          "exportLinks": { # Links for exporting Google Docs to specific formats.
            "a_key": "A String", # A mapping from export format to URL
          },
          "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
          "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
          "id": "A String", # The ID of the revision.
          "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
          "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
        }