# Drive API . revisions

## Instance Methods

Close httplib2 connections.

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.

Updates a revision.

### Method Details

`close()`

    Close httplib2 connections.

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

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

    Lists a file's revisions.

    Args:
      fileId: string, The ID of the file. (required)
      maxResults: integer, Maximum number of revisions to return.
      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.

    Returns:
      An object of the form:

        { # A list of revisions of a file.
        "etag": "A String", # The ETag of the list.
        "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.
            "downloadUrl": "A String",
            "etag": "A String", # The ETag of the revision.
            "exportLinks": { # Links for exporting Docs Editors files to specific formats.
              "a_key": "A String", # A mapping from export format to URL
            },
            "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
            "id": "A String", # The ID of the revision.
            "kind": "drive#revision", # This is always drive#revision.
            "lastModifyingUser": { # Information about a Drive user. # The last user to modify this revision.
              "displayName": "A String", # A plain text displayable name for this user.
              "emailAddress": "A String", # The email address of the user.
              "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
              "kind": "drive#user", # This is always drive#user.
              "permissionId": "A String", # The user's ID as visible in the permissions collection.
              "picture": { # The user's profile picture.
                "url": "A String", # A URL that points to a profile picture of this user.
              },
            },
            "lastModifyingUserName": "A String", # Name of the last user to modify this 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.
            "mimeType": "A String", # The MIME type of the revision.
            "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
            "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
            "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, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
            "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
            "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
            "publishedLink": "A String", # A link to the published revision. This is only populated for Google Sites files.
            "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
            "selfLink": "A String", # A link back to this revision.
          },
        ],
        "kind": "drive#revisionList", # This is always drive#revisionList.
        "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.
        "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=None)`

    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.
        The object takes the form of:

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

    Returns:
      An object of the form:

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

`update(fileId, revisionId, body=None)`

    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.
        The object takes the form of:

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

    Returns:
      An object of the form:

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