<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_v3.html">Drive API</a> . <a href="drive_v3.about.html">about</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="#get">get()</a></code></p>
<p class="firstline">Gets information about the user, the user's Drive, and system capabilities.</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="get">get()</code>
  <pre>Gets information about the user, the user&#x27;s Drive, and system capabilities.

Args:

Returns:
  An object of the form:

    { # Information about the user, the user&#x27;s Drive, and system capabilities.
  &quot;appInstalled&quot;: True or False, # Whether the user has installed the requesting app.
  &quot;canCreateDrives&quot;: True or False, # Whether the user can create shared drives.
  &quot;canCreateTeamDrives&quot;: True or False, # Deprecated - use canCreateDrives instead.
  &quot;driveThemes&quot;: [ # A list of themes that are supported for shared drives.
    {
      &quot;backgroundImageLink&quot;: &quot;A String&quot;, # A link to this theme&#x27;s background image.
      &quot;colorRgb&quot;: &quot;A String&quot;, # The color of this theme as an RGB hex string.
      &quot;id&quot;: &quot;A String&quot;, # The ID of the theme.
    },
  ],
  &quot;exportFormats&quot;: { # A map of source MIME type to possible targets for all supported exports.
    &quot;a_key&quot;: [
      &quot;A String&quot;,
    ],
  },
  &quot;folderColorPalette&quot;: [ # The currently supported folder colors as RGB hex strings.
    &quot;A String&quot;,
  ],
  &quot;importFormats&quot;: { # A map of source MIME type to possible targets for all supported imports.
    &quot;a_key&quot;: [
      &quot;A String&quot;,
    ],
  },
  &quot;kind&quot;: &quot;drive#about&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;drive#about&quot;.
  &quot;maxImportSizes&quot;: { # A map of maximum import sizes by MIME type, in bytes.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;maxUploadSize&quot;: &quot;A String&quot;, # The maximum upload size in bytes.
  &quot;storageQuota&quot;: { # The user&#x27;s storage quota limits and usage. All fields are measured in bytes.
    &quot;limit&quot;: &quot;A String&quot;, # The usage limit, if applicable. This will not be present if the user has unlimited storage.
    &quot;usage&quot;: &quot;A String&quot;, # The total usage across all services.
    &quot;usageInDrive&quot;: &quot;A String&quot;, # The usage by all files in Google Drive.
    &quot;usageInDriveTrash&quot;: &quot;A String&quot;, # The usage by trashed files in Google Drive.
  },
  &quot;teamDriveThemes&quot;: [ # Deprecated - use driveThemes instead.
    {
      &quot;backgroundImageLink&quot;: &quot;A String&quot;, # Deprecated - use driveThemes/backgroundImageLink instead.
      &quot;colorRgb&quot;: &quot;A String&quot;, # Deprecated - use driveThemes/colorRgb instead.
      &quot;id&quot;: &quot;A String&quot;, # Deprecated - use driveThemes/id instead.
    },
  ],
  &quot;user&quot;: { # Information about a Drive user. # The authenticated user.
    &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. This may not be present in certain contexts if the user has not made their email address visible to the requester.
    &quot;kind&quot;: &quot;drive#user&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;drive#user&quot;.
    &quot;me&quot;: True or False, # Whether this user is the requesting user.
    &quot;permissionId&quot;: &quot;A String&quot;, # The user&#x27;s ID as visible in Permission resources.
    &quot;photoLink&quot;: &quot;A String&quot;, # A link to the user&#x27;s profile photo, if available.
  },
}</pre>
</div>

</body></html>