)
Google periodically updates the Documents List Data API in order to deliver new features and to repair defects discovered in previous versions. In most cases, these changes will be transparent to API developers. However, occasionally we need to make changes that require developers to modify their existing applications.
This page documents any changes made to the Documents List API that may effect your application. We recommend that API developers periodically check this list for any new announcements. Changes will also be announced via this page's Atom feed and the Documents List API discussion group.
This release introduces new functionality to v3.0.
New Features & Changes:
OCR for .gif, .jpg, and .png upload.
Document translation service on doc upload.
Key based pagination.
By default the doclist will now return 100 documents (instead of all the user’s documents). This saves bandwidth and improves performance. To specify more than 100 documents, use the max-results=x parameter, where x is a cap for the # of documents you wish to return. For example, using max-results=50 may return 1-50 documents. You can then page through results by following the ‘next’ link in each returned <feed>.
Export servlets now support the full <gd:resourceID> as the docID or key parameter. Example: /feeds/download/documents/Export?docID=document:12345&exportFormat
Removed <openSearch:startIndex> and <openSearch:itemsPerPage>.
Fixes in this release:
Fixed HTTPS (SSL) wasn’t being respected for PDF downloads Issue 1448
Fixed querying legacy folder ids returning a 400 in v2.0 Issue 1482
This release introduces substantial new functionality and backwards incompatible changes to the existing API. It also deprecates certain features (listed below). As such, we’re moving to a new major version (version 3.0). It should be assumed that any features deprecated in v3 will continue to work under previous versions and be supported for 3 years.
Major Features:
Better feed URI formats. See the reference guide.
Ability to delete a document Issue 1368
Added edited-min and edited-max parameters. See the reference guide.
API error responses are now wrapped in XML output. Example:
<errors xmlns="http://schemas.google.com/g/2005">
<error>
<domain>GData</domain>
<code>invalidRequestUri</code>
<internalReason>Invalid request URI</internalReason>
</error>
</errors>
Deprecations:
Folders Category Scheme In V2, for every folder a document is in, the <atom:entry> for the document contains a category of the form:
<category scheme="http://schemas.google.com/docs/2007/folders/user@gmail.com" term="foldername" label="foldername"/>
In V3, this category scheme was removed as the same information may be retrieved via the parent link on the <atom:entry>:
<link rel="http://schemas.google.com/docs/2007#parent" type="application/atom+xml" href="http://docs.google.com/feeds/default/private/full/folder%3Afolder_id" title="foldername"/>
V2 Support: The category will continue to be added in older versions of the API.
Query By Folder Name
As a consequence of the folders category scheme above, in V2 it is possible to query for documents by folder name via:
GET /feeds/documents/private/full/-/foldername
In addition, category filters can be combined an any arbitrary fashion with logical operators so it is possible to query for documents which are in a folder named A or B but not C. In V3, this functionality was removed as the corresponding category scheme will no longer exist.
V2 Support: This feature will remain when the resulting document list is less than 500 documents.
Index Based Paging
The standard way to page Google Data requests is via start-index and max-results query parameters:
GET /feeds/documents/private/full/?start-index=10&max-results=20
This does not scale for large numbers of documents. As a result, the start-index parameter will no longer be supported. Instead, the doclist <feed> will contain a ‘next’ link pointing to the next set of paged results.
V2 Support: This feature will remain when the resulting document list is less than 2000 documents.
OpenSearch Elements
The API supports an <openSearch:totalResults> element which is the total number of results which match a given query. This does not scale for large numbers of documents and therefore this element was removed in V3.
V2 Support: This feature will remain when the resulting document list is less than 2000 documents.
Sorting
V2 feed results can be sorted based on title, starred, last-modified, and last-viewed. Due to backend complications, the default sort order will be last-modified. The option to specify other sorting orders was removed in V3.
V2 Support: This feature will remain when the resulting document list is less than 2000 documents.
Stemming / etc. Features in Search.
It is currently documented as part of the standard Google Data query parameters that a full text search (q paramater) does stemming. For example, a search for ‘enable’ will match ‘enabled’. This will no longer be the case.
Append to a Document
It was decided that the API should not handle content manipulation other than full document uploads/replacements so the ability to append to document was removed from v3 (e.g. the ?append=true parameter is gone).
V2 Support: V2 will continue to support this functionality.
Fixes in this release:
Fixed an issue where a document was removed from its parent folder when updating its content: Issue 1374
Fixed issue where trashing a document didn’t work with Google Apps accounts: Issue 1375
Features added in this release:
Allow documents to be hidden on upload/creation. Add the hidden category to your Atom <entry>:
<category scheme="http://schemas.google.com/g/2005/labels" term="http://schemas.google.com/g/2005/labels#hidden" label="hidden"/>
Folders are now returned by default on a folder category query (e.g. /-/folder). The showfolders=true parameter is no longer necessary.
Added spreadsheet form category (/-/form) to distinguish between spreadsheets and spreadsheet forms. Issue 1023
Additional changes/fixes in this release:
Fixed including folder scheme in query by folder name causing 500s: Issue 1337
Fixed export document as HTML not returning entire <html>: Issue 1343
Fixed spreadsheet worksheets link returning 500: Issue 1328
Fixed alternate link for Google Apps users containing double /a/domain.com: Issue 1324
Fixed showdeleted=true parameter not returning trashed spreadsheets: Issue 1115
Fixed spreadsheet’s ETags not being updated when modifying a spreadsheet: Issue 1176
Features added in this release:
Added support for .docx and .xlsx file types on upload.
Spreadsheets’ exportFormat parameter now supports file extensions instead of integer values.
Documents’ content link (export url) now default to the /Export servlet instead of the RawDocContents servlet.
Additional changes/fixes in this release:
Fixed writersCanInvite setting wasn’t being respected on spreadsheet creation: Issue 1289
Fixed 404 response when creating spreadsheets: Issue 1147
Fixed multi-byte character encoding issue with .txt downloads: Issue 1133
Fixed issue with creating a subfolder in another folder (hierarchy was not preserved): Issue 1152
‘everyone’ is now accepted as a valid ACL value: Issue 1155
Spreadsheet Export url no longer contains default exportFormat: Issue 1092
This release introduces new features, additions to the Atom xml, and several bug fixes.
Features added in this release:
Exposed new viewed category for documents that the requesting user has viewed. Example:
<category scheme="http://schemas.google.com/g/2005/labels" term="http://schemas.google.com/g/2005/labels#viewed" label="viewed"/>
Additional changes/fixes in this release:
Collaborators can now add/modify ACL permissions if they have access: Issue 1057
Fixed Issue 1107: problem creating/uploading text documents.
Fixed Issue 1131: Creating documents/folders no longer requires a category label.
Fixed Issue 1095: Folder creation no longer returns 404 errors.
This release introduces new features, additions to the Atom xml, and several bug fixes.
Features added in this release:
Presentations can now be exported as png files (exportFormat=png)
Added batch processing/operations to ACL feed. See ACL modification with batch processing.
Implements: Issue 874
Exposed hidden category for documents that are hidden. Example:
<category scheme="http://schemas.google.com/g/2005/labels"
term="http://schemas.google.com/g/2005/labels#hidden" label="hidden"/>
Resolved: Issue 1033
Added <gd:resourceId> node. Example: <gd:resourceId>spreadsheet:abc123</gd:resourceId>
Added <docs:writersCanInvite> element to determine if collaborators can modify a document’s ACLs. This feature implements: Issue 984
Introduced new metadata elements, <gd:lastModifiedBy> and <gd:lastViewed>.
Added ‘everyone’ as a possible ACL value for Google Apps domains. Note: this works for documents and presentations but not spreadsheets.
PUT /feeds/acl/private/full/document%3Aabc123/user%3Aeveryone <entry> ... <gAcl:role value="writer"/> <gAcl:scope type="user" value="everyone"/> </entry>
Implemented: Issue 991
Additional changes/fixes in this release:
edit and edit-media links no longer appear in the Atom <entry> if the user is not an owner or collaborator on a document.
Fixed Slug header precedence rules according to the UploadingDocs section Issue 978
Fixed create/delete ACL Issue 1072
This release introduces new features in addition to several bug fixes.
Features added in this release:
Added a new export/download service for documents, presentations, and spreadsheets. This feature resolves the following issues: 70, 35, 542, 706, 810
Added append=true parameter for appending Content-Type: text/plain data to a document’s content. See Appending to a document.
Added orderby parameter for sorting the documents list feed. See the reference guide.
Additional changes/fixes in this release: