Publish a Drive app

Once you've created your Drive app, you can publish it for others to use. This guide shows you how to publish your app.

Drive apps can be published in the G Suite Marketplace and the Chrome Web Store. Publishing to the G Suite Marketplace lets domain administrators install G Suite Marketplace apps on the behalf of their users. Individual users can find and install Drive apps by selecting New > add Connect new apps in the Drive UI.

When you publish your app, you are asked to register the file types that the app can open. When a user views a file in Drive or opens a Gmail attachment, your application is listed as a suggested app if the file type is one you have registered.

Suggested applications from Gmail

In cases where the user has not installed a valid viewer for a file, and the Google Drive viewer can’t render the file, Drive displays a link to a list of published apps that can open that file type (if any). This list of suggested apps can be a powerful mechanism for distributing your app to potential users.

To make your app available to others, you must follow a publishing process that creates a listing for your app, registers the file types it can open, and adds the listing to the stores. You should only start the publishing process once your app is fully functional and you're ready to let users know about it.

Before you begin

Before you begin the publishing process, it's important to understand your publishing options.

Visibility

Drive app visibility describes who is able to find and install your app from the G Suite Marketplace or Chrome Web Store.

Public visibility indicates that anyone can install the app. For G Suite Marketplace apps, My domain visibility means only admins or users in your domain can install the app. For the Chrome Web Store, Private visibility lets you select between allowing users in your domain, users on a trusted tester list, or users a specified Google Group to access the app.

Collaboration

When you collaborate with others in developing an app, make sure no single account owns all the application code and its corresponding Cloud Platform project. By granting ownership of the Cloud Platform project to multiple team members or a team Google Group, you help ensure the project can continue even if one of the owners leaves your organization.

Make sure your team also has similar access to your app's application code. If you are storing application code or files in Google Drive, consider using a Team Drive so that the files are not owned by specific individuals.

Required assets

Before you can publish your Drive app, you must provide certain assets—text, images, and URLs—that Google uses to build the store listings for your app and define its appearance and behavior in the Google Drive UI. Use the following checklist to ensure you have everything you need to publish:

  1. Assemble all the required G Suite Marketplace listing assets.
  2. If publishing to the Chrome Web Store, assemble the additional Chrome Web Store assets.
  3. Assemble all the assets required to configure the Drive UI integration.

Publish to the G Suite Marketplace

The G Suite Marketplace publication documentation provides detailed instructions on how to publish apps. In summary, do the following to publish your Drive app to the Marketplace:

  1. If you have not already, enable Google Drive API for your Drive app.
  2. Configure the app's Drive UI integration using the assets you assembled.
  3. Enable G Suite Marketplace SDK.
  4. Configure the Marketplace SDK and publish, using the assets you assembled to construct the Marketplace listing.

Publish to the Chrome Web Store

Publishing to the Chrome Web Store requires you to configure a listing for the store. Get started by working through the instructions in the Chrome Web Store Getting Started Tutorial along with the Drive-specific instructions below.

Modify the listing's manifest for your Drive app

Drive apps published in the Chrome Web Store require a JSON-formatted file named manifest.json that describes the app. In the manifest file for your Drive app, make sure to set the container value to GOOGLE_DRIVE and add the app ID shown in the API Console for your app.

  {
    "name": "app_name",
    "version": "version",
    "manifest_version": 2,
    "description": "description_text",
    "container": ["GOOGLE_DRIVE"],
    "api_console_project_id": "YOUR_APP_ID",
    "gdrive_mime_types": {
      "http://drive.google.com/intents/opendrivedoc": [
        {
          "type": ["image/png", "image/jpeg", "image/gif", "application/vnd.google.drive.ext-type.png",
          "application/vnd.google.drive.ext-type.jpg","application/vnd.google.drive.ext-type.gif"],
          "href": "http://your_web_url/",
          "title": "Open",
          "disposition": "window"
        }
      ]
    },
    "icons": {
      "128": "icon_128.png"
    },
    "app": {
      "launch": {
      "web_url": "http://your_web_url/"
      }
    }
  }
 

The web_url value sets the location to redirect users to when your app is launched from the Chrome New Tab page or the Launch App button in Chrome Web Store. Keep in mind that the target of web_url should perform a valid action, like directing new users through authorization, opening an existing file, or displaying a static page announcing the new features of a Drive integration.

Entering file extensions in the manifest

The recommended best practice for Drive is to register both MIME types and file extensions. Though the type field accepts only MIME types, it allows you to model file extensions as the following special type:

application/vnd.google.drive.ext-type.EXTENSION

As shown in the example above, you can append file extensions such as .png, .jpg, or .gif to this special file extension. You can append any valid file extension this way to make it discoverable by the search filter.

The important parts of the manifest to modify are the type and href field:

  • In the type field, enter the MIME types and file extensions you'd like your app to be searchable by. Make sure to wrap each type in quotes and separate multiple types with commas as shown.
  • In the href field, enter the same URL you provided in the manifest for web_url.

If you already have an existing Chrome app in the store, adding these lines to the manifest at publication time will allow your existing users to open and create files from Drive and use all the Drive-specific functionality you have added to the new version of your app. Your users will see a notification the next time they load Google Drive.

Create a URL to test the listing

After you have modified your app manifest and added a list of MIME types and file extensions, you can test it with a URL similar to the link displayed by the Google Drive UI. The key URL parameters to use, as supported by Chrome Web Store, are:

  • _wi The name of a web intent — always http://drive.google.com/intents/opendrivedoc
  • _mt A mime type, which can include the special file extension-modeling application/vnd.google.drive.ext-type.<EXTENSION> type. This parameter may be specified multiple times. Multiple _mt parameters in a URL are handled with OR logic.

If you generate the URL in your code, make sure to URL-encode these parameter values. To test a search for .jpg files, the URL would look like this:

https://chrome.google.com/webstore/category/collection/drive_apps?_wi=http%3A%2F%2Fdrive.google.com
%2Fintents%2Fopendrivedoc&_mt=image%2Fjpeg&_mt=application%2Fvnd.google.drive.ext-type.jpg

If your app does not appear in the search results, check for the following:

  • Is the modified app configuration published?
  • Is the web intent parameter correctly specified as _wi=http%3A%2F%2Fdrive.google.com %2Fintents%2Fopendrivedoc?
  • Have you given canonical types with no typos in the _mt parameters?

Send feedback about...

Drive REST API v2
Drive REST API v2
Need help? Visit our support page.