Data Access

Note: There's a new Google Apps Marketplace experience! Beginning November 19, 2013, new listings may only be created using the new version: existing developers may need to create a new Chrome Web Store account to publish new listings. Refer to the new documentation for more information.

View the slides from this presentation.

This document provides an overview on how to access data in Google Apps Marketplace and in-house applications.

For a complete overview of authentication and authorization for Google Apps, please watch the video on the right.


Why it's important

The Google Apps Data APIs allow your application to directly read, manipulate, update and delete the data used across many of the Google Apps applications. Whether you need to get a list of all the users in a domain, schedule a calendar appointment in Google Calendar, upload a report as a presentation or Google Site or allow for sharing content from your application as a Spreadsheet, the Apps Data APIs allow you do deeply integrate with the user's data.

The Google Apps Data APIs use the common Google Data APIs protocol and data format, based on the Atom Publishing Protocol standard. This makes it easy for any developer who can speak XML and HTTP to build the integration with Google Apps and apply their skills working with one of the APIs to each of the others.

For a list of APIs that are part of the Google Apps platform, refer to the directory.

How it works

Packaging the application

When configuring the manifest that defines an application, an application developer can define which APIs the application needs access to. See the manifest documentation for more information.


When a domain administrator installs the application, they authorize access to those APIs on behalf of their users. See step two of Admin and User Experience for more information.


The application specifies authorization credentials in each request using 2-legged OAuth. The majority of APIs allow an application to act on behalf of any user in any domain which has authorized access. This is done very simply by adding the value of the xoauth_requestor_id as a query parameter to the API request, specifying the e-mail address of the end user whose data is being accessed. The remainder of the APIs (such as the Provisioning API) are userless, so the xoauth_requestor_id must be omitted.

Data access is simplified by using the Google Data client libraries. Refer to best practices for recommendations on using 2-legged OAuth with care.

Getting started

For an introduction to data access for Marketplace applications, check out our tutorials, offered in several languages. Each tutorial demonstrates a Google Calendar integration using 2-legged OAuth.

It's recommended that developers use one of the Google Data client libraries to access Google Data APIs:

Each client library includes getting started examples. For more details on the features offered by each API, consult with the relevant documentation listed in the left navigation.