<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="#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="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 Google Docs.
    &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 Google Docs.
        &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>