Gdata/Docs.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@zend.com so we can send you a copy immediately.
- category
- Zend
- copyright
- Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
- license
-
New BSD License
- package
- Zend_Gdata
- subpackage
- Docs
- version
- $Id: Docs.php 24396 2011-08-21 14:28:50Z padraic $
Service class for interacting with the Google Document List data API
As the Google data API protocol is based upon the Atom Publishing Protocol
(APP), Gdata functionality extends the appropriate Zend_Gdata_App classes
- Extends from
- \Zend_Gdata
- category
- Zend
- copyright
- Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
- license
-
New BSD License
- link
-
http://code.google.com/apis/documents/
- package
- Zend_Gdata
- subpackage
- Docs
Constants
Properties



string
$_defaultPostUri= 'self'
Default URI to which to POST.
Default valueself
Details
- Type
- string
Methods



__call(
string $method, array $args
)
:
void
Provides a magic factory method to instantiate new objects with
shorter syntax than would otherwise be required by the Zend Framework
naming conventions. For instance, to construct a new
Zend_Gdata_Calendar_Extension_Color, a developer simply needs to do
$gCal->newColor(). For this magic constructor, packages are searched
in the same order as which they appear in the $_registeredPackages
array
Inherited from:
\Zend_Gdata_App::__call()
Parameters
Name |
Type |
Description |
$method |
string |
The method name being called |
$args |
array |
The arguments passed to the call |
Throws



__construct(
\Zend_Http_Client $client
=
null, string $applicationId
=
MyCompany-MyApp-1.0
)
:
void
Parameters
Name |
Type |
Description |
$client |
\Zend_Http_Client |
(optional) The HTTP client to use when when communicating with the Google servers.
|
$applicationId |
string |
The identity of the app in the form of Company-AppName-Version
|



createFolder(
string $folderName, string|null $folderResourceId
=
null
)
:
\Zend_Gdata_Entry
Creates a new folder in Google Docs
Parameters
Name |
Type |
Description |
$folderName |
string |
The folder name to create |
$folderResourceId |
string|null |
The parent folder to create it in ("folder%3Amy_parent_folder")
|
Returns
Details
- todo
- ZF-8732: This should return a *subclass* of Zend_Gdata_Entry, but
the appropriate type doesn't exist yet.



get(
string $uri, array $extraHeaders
=
array
)
:
\Zend_Http_Response
Parameters
Name |
Type |
Description |
$uri |
string |
GET URI |
$extraHeaders |
array |
Extra headers to add to the request, as an array of string-based key/value pairs.
|
Returns
Throws



getDoc(
string $docId, string $docType
)
:
\Zend_Gdata_Docs_DocumentListEntry
Retreive entry object representing a single document.
This method builds the URL where this item is stored using the type
and the id of the document.
Parameters
Name |
Type |
Description |
$docId |
string |
The URL key for the document. Examples: dcmg89gw_62hfjj8m, pKq0CzjiF3YmGd0AIlHKqeg |
$docType |
string |
The type of the document as used in the Google Document List URLs. Examples: document, spreadsheet, presentation |
Returns



getDocument(
string $id
)
:
void
Retreive entry object for the desired word processing document.
Parameters
Name |
Type |
Description |
$id |
string |
The URL id for the document. Example: dcmg89gw_62hfjj8m |



getDocumentListEntry(
mixed $location
=
null
)
:
\Zend_Gdata_Docs_DocumentListEntry
Retreive entry object representing a single document.
Parameters
Name |
Type |
Description |
$location |
mixed |
The location for the entry, as a URL or Query |
Returns



getDocumentListFeed(
mixed $location
=
null
)
:
\Zend_Gdata_Docs_DocumentListFeed
Retreive feed object containing entries for the user's documents.
Parameters
Name |
Type |
Description |
$location |
mixed |
The location for the feed, as a URL or Query |
Returns



getPresentation(
string $id
)
:
void
Retreive entry object for the desired presentation.
Parameters
Name |
Type |
Description |
$id |
string |
The URL id for the document. Example: dcmg89gw_21gtrjcn |



getSpreadsheet(
string $id
)
:
void
Retreive entry object for the desired spreadsheet.
Parameters
Name |
Type |
Description |
$id |
string |
The URL id for the document. Example: pKq0CzjiF3YmGd0AIlHKqeg |



importUrl(
string $url, string $className
=
Zend_Gdata_App_Feed, array $extraHeaders
=
array
)
:
string|\Zend_Gdata_App_Feed
Parameters
Name |
Type |
Description |
$url |
string |
The URL to import |
$className |
string |
The class which is used as the return type |
$extraHeaders |
array |
Extra headers to add to the request, as an array of string-based key/value pairs.
|
Returns
Type |
Description |
string\Zend_Gdata_App_Feed
|
Returns string only if the object mapping has been disabled explicitly by passing false to the useObjectMapping() function. |
Throws



insertDocument(
mixed $data, string $uri, string $className
=
Zend_Gdata_Docs_DocumentListEntry
)
:
\Zend_Gdata_Docs_DocumentListEntry
Inserts an entry to a given URI and returns the response as an Entry.
Parameters
Name |
Type |
Description |
$data |
mixed |
The Zend_Gdata_Docs_DocumentListEntry or media source to post. If it is a DocumentListEntry, the mediaSource should already have been set. If $data is a mediaSource, it should have the correct slug header and mime type.
|
$uri |
string |
POST URI |
$className |
string |
(optional) The class of entry to be returned. The default is a 'Zend_Gdata_Docs_DocumentListEntry'.
|
Returns



insertEntry(
mixed $data, string $uri, string $className
=
Zend_Gdata_App_Entry, array $extraHeaders
=
array
)
:
\Zend_Gdata_App_Entry
Parameters
Name |
Type |
Description |
$data |
mixed |
The Zend_Gdata_App_Entry or XML to post |
$uri |
string |
POST URI |
$className |
string |
The class of entry to be returned. |
$extraHeaders |
array |
Extra headers to add to the request, as an array of string-based key/value pairs.
|
Returns



lookupMimeType(
string $fileExtension
)
:
string
staticLooks up the mime type based on the file name extension. For example,
calling this method with 'csv' would return
'text/comma-separated-values'. The Mime type is sent as a header in
the upload HTTP POST request.
Parameters
Name |
Type |
Description |
$fileExtension |
string |
|
Returns
Type |
Description |
string |
The mime type to be sent to the server to tell it how the multipart mime data should be interpreted. |



performHttpRequest(
string $method, string $url, array $headers
=
array, string $body
=
null, string $contentType
=
null, int $remainingRedirects
=
null
)
:
\Zend_Http_Response
Overrides the definition in the parent (Zend_Gdata_App)
and uses the Zend_Gdata_HttpClient functionality
to filter the HTTP requests and responses.
Parameters
Name |
Type |
Description |
$method |
string |
The HTTP method for the request - 'GET', 'POST', 'PUT', 'DELETE'
|
$url |
string |
The URL to which this request is being performed, or null if found in $data
|
$headers |
array |
An associative array of HTTP headers for this request |
$body |
string |
The body of the HTTP request |
$contentType |
string |
The value for the content type of the request body |
$remainingRedirects |
int |
Number of redirects to follow if requests results in one |
Returns



post(
mixed $data, string $uri
=
null, $remainingRedirects
=
null, string $contentType
=
null, array $extraHeaders
=
null
)
:
\Zend_Http_Response
Parameters
Name |
Type |
Description |
$data |
mixed |
The Zend_Gdata_App_Entry or XML to post |
$uri |
string |
POST URI |
$remainingRedirects |
|
|
$contentType |
string |
Content-type of the data
|
$extraHeaders |
array |
Extra headers to add to the request, as an array of string-based key/value pairs.
|
Returns
Throws



prepareRequest(
string $method, string $url
=
null, array $headers
=
array, mixed $data
=
null, string $contentTypeOverride
=
null
)
:
array
- Checks the $data element and, if it's an entry, extracts the XML,
multipart data, edit link (PUT,DELETE), etc.
- If $data is a string, sets the default content-type header as
'application/atom+xml' if it's not already been set.
- Adds a x-http-method override header and changes the HTTP method
to 'POST' if necessary as per getHttpMethodOverride()
Parameters
Name |
Type |
Description |
$method |
string |
The HTTP method for the request - 'GET', 'POST', 'PUT', 'DELETE'
|
$url |
string |
The URL to which this request is being performed, or null if found in $data
|
$headers |
array |
An associative array of HTTP headers for this request |
$data |
mixed |
The Zend_Gdata_App_Entry or XML for the body of the request |
$contentTypeOverride |
string |
The override value for the content type of the request body |
Returns
Type |
Description |
array |
An associative array containing the determined 'method', 'url', 'data', 'headers', 'contentType' |



put(
mixed $data, string $uri
=
null, $remainingRedirects
=
null, string $contentType
=
null, array $extraHeaders
=
null
)
:
\Zend_Http_Response
Parameters
Name |
Type |
Description |
$data |
mixed |
The Zend_Gdata_App_Entry or XML to post |
$uri |
string |
PUT URI |
$remainingRedirects |
|
|
$contentType |
string |
Content-type of the data
|
$extraHeaders |
array |
Extra headers to add to the request, as an array of string-based key/value pairs.
|
Returns
Throws



registerPackage(
string $name
)
:
void
This array is searched when using the magic __call method below
to instantiante new objects.
Parameters
Name |
Type |
Description |
$name |
string |
The name of the package (eg Zend_Gdata_App)
|



setMinorProtocolVersion(
\(int|\NULL) $value
)
:
void
Set the minor protocol version that should be used. If set to NULL, no
minor protocol version will be sent to the server. Values < 0 will
cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
Inherited from:
\Zend_Gdata_App::setMinorProtocolVersion()
Parameters
Name |
Type |
Description |
$value |
\(int|\NULL) |
The minor protocol version to use. |
Throws
Details
- see
- \_minorProtocolVersion



updateEntry(
mixed $data, string|null $uri
=
null, string|null $className
=
null, array $extraHeaders
=
array
)
:
\Zend_Gdata_App_Entry
Parameters
Name |
Type |
Description |
$data |
mixed |
Zend_Gdata_App_Entry or XML (w/ID and link rel='edit')
|
$uri |
string|null |
The URI to send requests to, or null if $data contains the URI.
|
$className |
string|null |
The name of the class that should be deserialized from the server response. If null, then 'Zend_Gdata_App_Entry' will be used.
|
$extraHeaders |
array |
Extra headers to add to the request, as an array of string-based key/value pairs.
|
Returns
Throws



uploadFile(
string $fileLocation, string $title
=
null, string $mimeType
=
null, string $uri
=
null
)
:
\Zend_Gdata_Docs_DocumentListEntry
Upload a local file to create a new Google Document entry.
Parameters
Name |
Type |
Description |
$fileLocation |
string |
The full or relative path of the file to be uploaded. |
$title |
string |
The name that this document should have on the server. If set, the title is used as the slug header in the POST request. If no title is provided, the location of the file will be used as the slug header in the request. If no mimeType is provided, this method attempts to determine the mime type based on the slugHeader by looking for .doc, .csv, .txt, etc. at the end of the file name. Example value: 'test.doc'.
|
$mimeType |
string |
Describes the type of data which is being sent to the server. This must be one of the accepted mime types which are enumerated in SUPPORTED_FILETYPES. |
$uri |
string |
(optional) The URL to which the upload should be made. Example: 'https://docs.google.com/feeds/documents/private/full'.
|
Returns