<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="#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="get">get()</code>
  <pre>Gets information about the user, the user's Drive, and system capabilities.

Args:

Returns:
  An object of the form:

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

</body></html>