<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="drive_v2.html">Drive API</a> . <a href="drive_v2.revisions.html">revisions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#delete">delete(fileId, revisionId)</a></code></p>
<p class="firstline">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.</p>
<p class="toc_element">
  <code><a href="#get">get(fileId, revisionId)</a></code></p>
<p class="firstline">Gets a specific revision.</p>
<p class="toc_element">
  <code><a href="#list">list(fileId, maxResults=None, pageToken=None)</a></code></p>
<p class="firstline">Lists a file's revisions.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(fileId, revisionId, body=None)</a></code></p>
<p class="firstline">Updates a revision.</p>
<p class="toc_element">
  <code><a href="#update">update(fileId, revisionId, body=None)</a></code></p>
<p class="firstline">Updates a revision.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(fileId, revisionId)</code>
  <pre>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&#x27;t be deleted.

Args:
  fileId: string, The ID of the file. (required)
  revisionId: string, The ID of the revision. (required)
</pre>
</div>

<div class="method">
    <code class="details" id="get">get(fileId, revisionId)</code>
  <pre>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.
  &quot;downloadUrl&quot;: &quot;A String&quot;,
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the revision.
  &quot;exportLinks&quot;: { # Links for exporting Docs Editors files to specific formats.
    &quot;a_key&quot;: &quot;A String&quot;, # A mapping from export format to URL
  },
  &quot;fileSize&quot;: &quot;A String&quot;, # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
  &quot;id&quot;: &quot;A String&quot;, # The ID of the revision.
  &quot;kind&quot;: &quot;drive#revision&quot;, # This is always drive#revision.
  &quot;lastModifyingUser&quot;: { # Information about a Drive user. # The last user to modify this revision.
    &quot;displayName&quot;: &quot;A String&quot;, # A plain text displayable name for this user.
    &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the user.
    &quot;isAuthenticatedUser&quot;: True or False, # Whether this user is the same as the authenticated user for whom the request was made.
    &quot;kind&quot;: &quot;drive#user&quot;, # This is always drive#user.
    &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in the permissions collection.
    &quot;picture&quot;: { # The user&#x27;s profile picture.
      &quot;url&quot;: &quot;A String&quot;, # A URL that points to a profile picture of this user.
    },
  },
  &quot;lastModifyingUserName&quot;: &quot;A String&quot;, # Name of the last user to modify this revision.
  &quot;md5Checksum&quot;: &quot;A String&quot;, # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
  &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
  &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
  &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field 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.
  &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
  &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
  &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
  &quot;publishedOutsideDomain&quot;: True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this revision.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(fileId, maxResults=None, pageToken=None)</code>
  <pre>Lists a file&#x27;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 &quot;nextPageToken&quot; from the previous response.

Returns:
  An object of the form:

    { # A list of revisions of a file.
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the list.
  &quot;items&quot;: [ # 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.
      &quot;downloadUrl&quot;: &quot;A String&quot;,
      &quot;etag&quot;: &quot;A String&quot;, # The ETag of the revision.
      &quot;exportLinks&quot;: { # Links for exporting Docs Editors files to specific formats.
        &quot;a_key&quot;: &quot;A String&quot;, # A mapping from export format to URL
      },
      &quot;fileSize&quot;: &quot;A String&quot;, # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
      &quot;id&quot;: &quot;A String&quot;, # The ID of the revision.
      &quot;kind&quot;: &quot;drive#revision&quot;, # This is always drive#revision.
      &quot;lastModifyingUser&quot;: { # Information about a Drive user. # The last user to modify this revision.
        &quot;displayName&quot;: &quot;A String&quot;, # A plain text displayable name for this user.
        &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the user.
        &quot;isAuthenticatedUser&quot;: True or False, # Whether this user is the same as the authenticated user for whom the request was made.
        &quot;kind&quot;: &quot;drive#user&quot;, # This is always drive#user.
        &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in the permissions collection.
        &quot;picture&quot;: { # The user&#x27;s profile picture.
          &quot;url&quot;: &quot;A String&quot;, # A URL that points to a profile picture of this user.
        },
      },
      &quot;lastModifyingUserName&quot;: &quot;A String&quot;, # Name of the last user to modify this revision.
      &quot;md5Checksum&quot;: &quot;A String&quot;, # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
      &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
      &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
      &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field 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.
      &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
      &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
      &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
      &quot;publishedOutsideDomain&quot;: True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
      &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this revision.
    },
  ],
  &quot;kind&quot;: &quot;drive#revisionList&quot;, # This is always drive#revisionList.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # 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.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this list.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>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 &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(fileId, revisionId, body=None)</code>
  <pre>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.
  &quot;downloadUrl&quot;: &quot;A String&quot;,
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the revision.
  &quot;exportLinks&quot;: { # Links for exporting Docs Editors files to specific formats.
    &quot;a_key&quot;: &quot;A String&quot;, # A mapping from export format to URL
  },
  &quot;fileSize&quot;: &quot;A String&quot;, # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
  &quot;id&quot;: &quot;A String&quot;, # The ID of the revision.
  &quot;kind&quot;: &quot;drive#revision&quot;, # This is always drive#revision.
  &quot;lastModifyingUser&quot;: { # Information about a Drive user. # The last user to modify this revision.
    &quot;displayName&quot;: &quot;A String&quot;, # A plain text displayable name for this user.
    &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the user.
    &quot;isAuthenticatedUser&quot;: True or False, # Whether this user is the same as the authenticated user for whom the request was made.
    &quot;kind&quot;: &quot;drive#user&quot;, # This is always drive#user.
    &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in the permissions collection.
    &quot;picture&quot;: { # The user&#x27;s profile picture.
      &quot;url&quot;: &quot;A String&quot;, # A URL that points to a profile picture of this user.
    },
  },
  &quot;lastModifyingUserName&quot;: &quot;A String&quot;, # Name of the last user to modify this revision.
  &quot;md5Checksum&quot;: &quot;A String&quot;, # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
  &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
  &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
  &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field 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.
  &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
  &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
  &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
  &quot;publishedOutsideDomain&quot;: True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this revision.
}


Returns:
  An object of the form:

    { # A revision of a file.
  &quot;downloadUrl&quot;: &quot;A String&quot;,
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the revision.
  &quot;exportLinks&quot;: { # Links for exporting Docs Editors files to specific formats.
    &quot;a_key&quot;: &quot;A String&quot;, # A mapping from export format to URL
  },
  &quot;fileSize&quot;: &quot;A String&quot;, # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
  &quot;id&quot;: &quot;A String&quot;, # The ID of the revision.
  &quot;kind&quot;: &quot;drive#revision&quot;, # This is always drive#revision.
  &quot;lastModifyingUser&quot;: { # Information about a Drive user. # The last user to modify this revision.
    &quot;displayName&quot;: &quot;A String&quot;, # A plain text displayable name for this user.
    &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the user.
    &quot;isAuthenticatedUser&quot;: True or False, # Whether this user is the same as the authenticated user for whom the request was made.
    &quot;kind&quot;: &quot;drive#user&quot;, # This is always drive#user.
    &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in the permissions collection.
    &quot;picture&quot;: { # The user&#x27;s profile picture.
      &quot;url&quot;: &quot;A String&quot;, # A URL that points to a profile picture of this user.
    },
  },
  &quot;lastModifyingUserName&quot;: &quot;A String&quot;, # Name of the last user to modify this revision.
  &quot;md5Checksum&quot;: &quot;A String&quot;, # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
  &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
  &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
  &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field 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.
  &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
  &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
  &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
  &quot;publishedOutsideDomain&quot;: True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this revision.
}</pre>
</div>

<div class="method">
    <code class="details" id="update">update(fileId, revisionId, body=None)</code>
  <pre>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.
  &quot;downloadUrl&quot;: &quot;A String&quot;,
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the revision.
  &quot;exportLinks&quot;: { # Links for exporting Docs Editors files to specific formats.
    &quot;a_key&quot;: &quot;A String&quot;, # A mapping from export format to URL
  },
  &quot;fileSize&quot;: &quot;A String&quot;, # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
  &quot;id&quot;: &quot;A String&quot;, # The ID of the revision.
  &quot;kind&quot;: &quot;drive#revision&quot;, # This is always drive#revision.
  &quot;lastModifyingUser&quot;: { # Information about a Drive user. # The last user to modify this revision.
    &quot;displayName&quot;: &quot;A String&quot;, # A plain text displayable name for this user.
    &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the user.
    &quot;isAuthenticatedUser&quot;: True or False, # Whether this user is the same as the authenticated user for whom the request was made.
    &quot;kind&quot;: &quot;drive#user&quot;, # This is always drive#user.
    &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in the permissions collection.
    &quot;picture&quot;: { # The user&#x27;s profile picture.
      &quot;url&quot;: &quot;A String&quot;, # A URL that points to a profile picture of this user.
    },
  },
  &quot;lastModifyingUserName&quot;: &quot;A String&quot;, # Name of the last user to modify this revision.
  &quot;md5Checksum&quot;: &quot;A String&quot;, # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
  &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
  &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
  &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field 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.
  &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
  &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
  &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
  &quot;publishedOutsideDomain&quot;: True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this revision.
}


Returns:
  An object of the form:

    { # A revision of a file.
  &quot;downloadUrl&quot;: &quot;A String&quot;,
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the revision.
  &quot;exportLinks&quot;: { # Links for exporting Docs Editors files to specific formats.
    &quot;a_key&quot;: &quot;A String&quot;, # A mapping from export format to URL
  },
  &quot;fileSize&quot;: &quot;A String&quot;, # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
  &quot;id&quot;: &quot;A String&quot;, # The ID of the revision.
  &quot;kind&quot;: &quot;drive#revision&quot;, # This is always drive#revision.
  &quot;lastModifyingUser&quot;: { # Information about a Drive user. # The last user to modify this revision.
    &quot;displayName&quot;: &quot;A String&quot;, # A plain text displayable name for this user.
    &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the user.
    &quot;isAuthenticatedUser&quot;: True or False, # Whether this user is the same as the authenticated user for whom the request was made.
    &quot;kind&quot;: &quot;drive#user&quot;, # This is always drive#user.
    &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in the permissions collection.
    &quot;picture&quot;: { # The user&#x27;s profile picture.
      &quot;url&quot;: &quot;A String&quot;, # A URL that points to a profile picture of this user.
    },
  },
  &quot;lastModifyingUserName&quot;: &quot;A String&quot;, # Name of the last user to modify this revision.
  &quot;md5Checksum&quot;: &quot;A String&quot;, # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
  &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
  &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
  &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field 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.
  &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
  &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
  &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
  &quot;publishedOutsideDomain&quot;: True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this revision.
}</pre>
</div>

</body></html>