<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.apps.html">apps</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(appId)</a></code></p>
<p class="firstline">Gets a specific app.</p>
<p class="toc_element">
  <code><a href="#list">list(appFilterExtensions=None, appFilterMimeTypes=None, languageCode=None)</a></code></p>
<p class="firstline">Lists a user's installed apps.</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(appId)</code>
  <pre>Gets a specific app.

Args:
  appId: string, The ID of the app. (required)

Returns:
  An object of the form:

    { # The apps resource provides a list of the apps that a user has installed, with information about each app&#x27;s supported MIME types, file extensions, and other details.
  &quot;authorized&quot;: True or False, # Whether the app is authorized to access data on the user&#x27;s Drive.
  &quot;createInFolderTemplate&quot;: &quot;A String&quot;, # The template url to create a new file with this app in a given folder. The template will contain {folderId} to be replaced by the folder to create the new file in.
  &quot;createUrl&quot;: &quot;A String&quot;, # The url to create a new file with this app.
  &quot;hasDriveWideScope&quot;: True or False, # Whether the app has drive-wide scope. An app with drive-wide scope can access all files in the user&#x27;s drive.
  &quot;icons&quot;: [ # The various icons for the app.
    {
      &quot;category&quot;: &quot;A String&quot;, # Category of the icon. Allowed values are:
          # - application - icon for the application
          # - document - icon for a file associated with the app
          # - documentShared - icon for a shared file associated with the app
      &quot;iconUrl&quot;: &quot;A String&quot;, # URL for the icon.
      &quot;size&quot;: 42, # Size of the icon. Represented as the maximum of the width and height.
    },
  ],
  &quot;id&quot;: &quot;A String&quot;, # The ID of the app.
  &quot;installed&quot;: True or False, # Whether the app is installed.
  &quot;kind&quot;: &quot;drive#app&quot;, # This is always drive#app.
  &quot;longDescription&quot;: &quot;A String&quot;, # A long description of the app.
  &quot;name&quot;: &quot;A String&quot;, # The name of the app.
  &quot;objectType&quot;: &quot;A String&quot;, # The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.
  &quot;openUrlTemplate&quot;: &quot;A String&quot;, # The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids. See  Open Files  for the full documentation.
  &quot;primaryFileExtensions&quot;: [ # The list of primary file extensions.
    &quot;A String&quot;,
  ],
  &quot;primaryMimeTypes&quot;: [ # The list of primary mime types.
    &quot;A String&quot;,
  ],
  &quot;productId&quot;: &quot;A String&quot;, # The ID of the product listing for this app.
  &quot;productUrl&quot;: &quot;A String&quot;, # A link to the product listing for this app.
  &quot;secondaryFileExtensions&quot;: [ # The list of secondary file extensions.
    &quot;A String&quot;,
  ],
  &quot;secondaryMimeTypes&quot;: [ # The list of secondary mime types.
    &quot;A String&quot;,
  ],
  &quot;shortDescription&quot;: &quot;A String&quot;, # A short description of the app.
  &quot;supportsCreate&quot;: True or False, # Whether this app supports creating new objects.
  &quot;supportsImport&quot;: True or False, # Whether this app supports importing from Docs Editors.
  &quot;supportsMultiOpen&quot;: True or False, # Whether this app supports opening more than one file.
  &quot;supportsOfflineCreate&quot;: True or False, # Whether this app supports creating new files when offline.
  &quot;useByDefault&quot;: True or False, # Whether the app is selected as the default handler for the types it supports.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(appFilterExtensions=None, appFilterMimeTypes=None, languageCode=None)</code>
  <pre>Lists a user&#x27;s installed apps.

Args:
  appFilterExtensions: string, A comma-separated list of file extensions for open with filtering. All apps within the given app query scope which can open any of the given file extensions will be included in the response. If appFilterMimeTypes are provided as well, the result is a union of the two resulting app lists.
  appFilterMimeTypes: string, A comma-separated list of MIME types for open with filtering. All apps within the given app query scope which can open any of the given MIME types will be included in the response. If appFilterExtensions are provided as well, the result is a union of the two resulting app lists.
  languageCode: string, A language or locale code, as defined by BCP 47, with some extensions from Unicode&#x27;s LDML format (http://www.unicode.org/reports/tr35/).

Returns:
  An object of the form:

    { # A list of third-party applications which the user has installed or given access to Google Drive.
  &quot;defaultAppIds&quot;: [ # List of app IDs that the user has specified to use by default. The list is in reverse-priority order (lowest to highest).
    &quot;A String&quot;,
  ],
  &quot;etag&quot;: &quot;A String&quot;, # The ETag of the list.
  &quot;items&quot;: [ # The list of apps.
    { # The apps resource provides a list of the apps that a user has installed, with information about each app&#x27;s supported MIME types, file extensions, and other details.
      &quot;authorized&quot;: True or False, # Whether the app is authorized to access data on the user&#x27;s Drive.
      &quot;createInFolderTemplate&quot;: &quot;A String&quot;, # The template url to create a new file with this app in a given folder. The template will contain {folderId} to be replaced by the folder to create the new file in.
      &quot;createUrl&quot;: &quot;A String&quot;, # The url to create a new file with this app.
      &quot;hasDriveWideScope&quot;: True or False, # Whether the app has drive-wide scope. An app with drive-wide scope can access all files in the user&#x27;s drive.
      &quot;icons&quot;: [ # The various icons for the app.
        {
          &quot;category&quot;: &quot;A String&quot;, # Category of the icon. Allowed values are:
              # - application - icon for the application
              # - document - icon for a file associated with the app
              # - documentShared - icon for a shared file associated with the app
          &quot;iconUrl&quot;: &quot;A String&quot;, # URL for the icon.
          &quot;size&quot;: 42, # Size of the icon. Represented as the maximum of the width and height.
        },
      ],
      &quot;id&quot;: &quot;A String&quot;, # The ID of the app.
      &quot;installed&quot;: True or False, # Whether the app is installed.
      &quot;kind&quot;: &quot;drive#app&quot;, # This is always drive#app.
      &quot;longDescription&quot;: &quot;A String&quot;, # A long description of the app.
      &quot;name&quot;: &quot;A String&quot;, # The name of the app.
      &quot;objectType&quot;: &quot;A String&quot;, # The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.
      &quot;openUrlTemplate&quot;: &quot;A String&quot;, # The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids. See  Open Files  for the full documentation.
      &quot;primaryFileExtensions&quot;: [ # The list of primary file extensions.
        &quot;A String&quot;,
      ],
      &quot;primaryMimeTypes&quot;: [ # The list of primary mime types.
        &quot;A String&quot;,
      ],
      &quot;productId&quot;: &quot;A String&quot;, # The ID of the product listing for this app.
      &quot;productUrl&quot;: &quot;A String&quot;, # A link to the product listing for this app.
      &quot;secondaryFileExtensions&quot;: [ # The list of secondary file extensions.
        &quot;A String&quot;,
      ],
      &quot;secondaryMimeTypes&quot;: [ # The list of secondary mime types.
        &quot;A String&quot;,
      ],
      &quot;shortDescription&quot;: &quot;A String&quot;, # A short description of the app.
      &quot;supportsCreate&quot;: True or False, # Whether this app supports creating new objects.
      &quot;supportsImport&quot;: True or False, # Whether this app supports importing from Docs Editors.
      &quot;supportsMultiOpen&quot;: True or False, # Whether this app supports opening more than one file.
      &quot;supportsOfflineCreate&quot;: True or False, # Whether this app supports creating new files when offline.
      &quot;useByDefault&quot;: True or False, # Whether the app is selected as the default handler for the types it supports.
    },
  ],
  &quot;kind&quot;: &quot;drive#appList&quot;, # This is always drive#appList.
  &quot;selfLink&quot;: &quot;A String&quot;, # A link back to this list.
}</pre>
</div>

</body></html>