Gdata.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 [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Gdata
- Subpackage
- Gdata
- Version
- $Id: Gdata.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Gdata
Provides functionality to interact with Google data APIs Subclasses exist to implement service-specific features
As the Google data API protocol is based upon the Atom Publishing Protocol (APP), Gdata functionality extends the appropriate Zend_Gdata_App classes
- Parent(s)
- \Zend_Gdata_App
- Children
- \Zend_Gdata_Calendar
- \Zend_Gdata_Photos
- \Zend_Gdata_Health
- \Zend_Gdata_Analytics
- \Zend_Gdata_DublinCore
- \Zend_Gdata_Exif
- \Zend_Gdata_Geo
- \Zend_Gdata_Docs
- \Zend_Gdata_Books
- \Zend_Gdata_Gapps
- \Zend_Gdata_Media
- \Zend_Gdata_Spreadsheets
- \Zend_Gdata_Gbase
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Link
- http://code.google.com/apis/gdata/overview.html
Constants
string
AUTH_SERVICE_NAME
= 'xapi'Service name for use with Google's authentication mechanisms
- string
DEFAULT_MAJOR_PROTOCOL_VERSION
= 1Default major protocol version.
Inherited from: \Zend_Gdata_App::DEFAULT_MAJOR_PROTOCOL_VERSION- Inherited_from
- \Zend_Gdata_App::DEFAULT_MAJOR_PROTOCOL_VERSION
- See
- \global\_majorProtocolVersion
DEFAULT_MINOR_PROTOCOL_VERSION
= nullDefault minor protocol version.
Inherited from: \Zend_Gdata_App::DEFAULT_MINOR_PROTOCOL_VERSION- Inherited_from
- \Zend_Gdata_App::DEFAULT_MINOR_PROTOCOL_VERSION
- See
- \global\_minorProtocolVersion
Properties

boolean $_gzipEnabled = false
falseDetails- Type
- boolean
- Inherited_from
- \Zend_Gdata_App::$$_gzipEnabled

boolean $_httpMethodOverride = falseOverride HTTP PUT and DELETE request methods?
Inherited from: \Zend_Gdata_App::$$_httpMethodOverridefalseDetails- Type
- boolean
- Inherited_from
- \Zend_Gdata_App::$$_httpMethodOverride

$_majorProtocolVersion = Indicates the major protocol version that should be used.
Inherited from: \Zend_Gdata_App::$$_majorProtocolVersionAt present, recognized values are either 1 or 2. However, any integer value >= 1 is considered valid.
Under most circumtances, this will be automatically set by Zend_Gdata_App subclasses.
- Type
- n/a
- Inherited_from
- \Zend_Gdata_App::$$_majorProtocolVersion
- See
- \global\setMajorProtocolVersion()
- See
- \global\getMajorProtocolVersion()

int $_maxRedirects = 5Maximum number of redirects to follow during HTTP operations
Inherited from: \Zend_Gdata_App::$$_maxRedirects5Details- Type
- int
- Inherited_from
- \Zend_Gdata_App::$$_maxRedirects

$_minorProtocolVersion = Indicates the minor protocol version that should be used.
Inherited from: \Zend_Gdata_App::$$_minorProtocolVersionCan be set to either an integer >= 0, or NULL if no minor version should be sent to the server.
At present, this field is not used by any Google services, but may be used in the future.
Under most circumtances, this will be automatically set by Zend_Gdata_App subclasses.
- Type
- n/a
- Inherited_from
- \Zend_Gdata_App::$$_minorProtocolVersion
- See
- \global\setMinorProtocolVersion()
- See
- \global\getMinorProtocolVersion()

array $_registeredPackages = array('Zend_Gdata_Kind', 'Zend_Gdata_Extension', 'Zend_Gdata', 'Zend_Gdata_App_Extension', 'Zend_Gdata_App')Packages to search for classes when using magic __call method, in order.
array('Zend_Gdata_Kind', 'Zend_Gdata_Extension', 'Zend_Gdata', 'Zend_Gdata_App_Extension', 'Zend_Gdata_App')Details- Type
- array

\Zend_Gdata_HttpClient $_staticHttpClient = nullClient object used to communicate in static context
nullDetails

boolean $_useObjectMapping = trueWhether we want to use XML to object mapping when fetching data.
Inherited from: \Zend_Gdata_App::$$_useObjectMappingtrueDetails- Type
- boolean
- Inherited_from
- \Zend_Gdata_App::$$_useObjectMapping

boolean $_verboseExceptionMessages = trueUse verbose exception messages.
Inherited from: \Zend_Gdata_App::$$_verboseExceptionMessagesIn the case of HTTP errors, use the body of the HTTP response in the exception message.
trueDetails- Type
- boolean
- Inherited_from
- \Zend_Gdata_App::$$_verboseExceptionMessages

array $namespaces = array(array('gd', 'http://schemas.google.com/g/2005', 1, 0), array('openSearch', 'http://a9.com/-/spec/opensearchrss/1.0/', 1, 0), array('openSearch', 'http://a9.com/-/spec/opensearch/1.1/', 2, 0), array('rss', 'http://blogs.law.harvard.edu/tech/rss', 1, 0))Namespaces used for Gdata data
array(array('gd', 'http://schemas.google.com/g/2005', 1, 0), array('openSearch', 'http://a9.com/-/spec/opensearchrss/1.0/', 1, 0), array('openSearch', 'http://a9.com/-/spec/opensearch/1.1/', 2, 0), array('rss', 'http://blogs.law.harvard.edu/tech/rss', 1, 0))Details- Type
- array
Methods

__call(string $method, array $args) : voidProvides a magic factory method to instantiate new objects with shorter syntax than would otherwise be required by the Zend Framework naming conventions.
Inherited from: \Zend_Gdata_App::__call()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
| Name | Type | Description |
|---|---|---|
| $method | string | The method name being called |
| $args | array | The arguments passed to the call |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

__construct(\Zend_Http_Client $client = null, string $applicationId = 'MyCompany-MyApp-1.0') : voidCreate Gdata object
| Name | Type | Description |
|---|---|---|
| $client | \Zend_Http_Client | |
| $applicationId | string | The identity of the app in the form of Company-AppName-Version |

delete(mixed $data, $remainingRedirects = null) : void
| Name | Type | Description |
|---|---|---|
| $data | mixed | The Zend_Gdata_App_Entry or URL to delete |
| $remainingRedirects |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception | |
| \Zend_Gdata_App_HttpException | |
| \Zend_Gdata_App_InvalidArgumentException |

enableRequestDebugLogging(string $logfile) : voidThis method enables logging of requests by changing the Zend_Http_Client_Adapter used for performing the requests.
Inherited from: \Zend_Gdata_App::enableRequestDebugLogging()NOTE: This will not work if you have customized the adapter already to use a proxy server or other interface.
| Name | Type | Description |
|---|---|---|
| $logfile | string | The logfile to use when logging the requests |

generateIfMatchHeaderData( $data, $allowWeek) : string | nullReturns the data for an If-Match header based on the current Etag property.
Inherited from: \Zend_Gdata_App::generateIfMatchHeaderData()If Etags are not supported by the server or cannot be extracted from the data, then null will be returned.
| Name | Type | Description |
|---|---|---|
| $data | ||
| $allowWeek |
| Type | Description |
|---|---|
| string | null | $data |

get(string $uri, array $extraHeaders = array()) : \Zend_Http_Response
| 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. |
| Type | Description |
|---|---|
| \Zend_Http_Response |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_HttpException |

getEntry(mixed $location, $className = 'Zend_Gdata_Entry') : string | \Zend_Gdata_App_EntryRetrieve entry as string or object
| Name | Type | Description |
|---|---|---|
| $location | mixed | The location as string or Zend_Gdata_Query |
| $className |
| Type | Description |
|---|---|
| string | \Zend_Gdata_App_Entry | Returns string only if the object mapping has been disabled explicitly by passing false to the useObjectMapping() function. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_InvalidArgumentException |

getFeed(mixed $location, string $className = 'Zend_Gdata_Feed') : string | \Zend_Gdata_App_FeedRetrieve feed as string or object
| Name | Type | Description |
|---|---|---|
| $location | mixed | The location as string or Zend_Gdata_Query |
| $className | string | The class type to use for returning the feed |
| 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. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_InvalidArgumentException |

getHttpClient() : \Zend_Http_ClientGet the Zend_Http_Client object used for communication
Inherited from: \Zend_Gdata_App::getHttpClient()| Type | Description |
|---|---|
| \Zend_Http_Client |

getMajorProtocolVersion() : intGet the major protocol version that is in use.
Inherited from: \Zend_Gdata_App::getMajorProtocolVersion()| Type | Description |
|---|---|
| int | The major protocol version in use. |
- See
- \global\_majorProtocolVersion

getMaxRedirects() : intGet the maximum number of redirects to follow during HTTP operations
Inherited from: \Zend_Gdata_App::getMaxRedirects()| Type | Description |
|---|---|
| int | Maximum number of redirects to follow |

getMinorProtocolVersion() : \(int | \NULL)Get the minor protocol version that is in use.
Inherited from: \Zend_Gdata_App::getMinorProtocolVersion()| Type | Description |
|---|---|
| \(int | \NULL) | The major protocol version in use, or NULL if no minor version is specified. |
- See
- \global\_minorProtocolVersion

getNextFeed(\Zend_Gdata_App_Feed $feed, string $className = null) : \Zend_Gdata_App_Feed | nullRetrieve next set of results based on a given feed.
Inherited from: \Zend_Gdata_App::getNextFeed()| Name | Type | Description |
|---|---|---|
| $feed | \Zend_Gdata_App_Feed | The feed from which to retreive the next set of results. |
| $className | string | (optional) The class of feed to be returned. If null, the next feed (if found) will be the same class as the feed that was given as the first argument. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed | null | Returns a Zend_Gdata_App_Feed or null if no next set of results exists. |

getPreviousFeed(\Zend_Gdata_App_Feed $feed, string $className = null) : \Zend_Gdata_App_Feed | nullRetrieve previous set of results based on a given feed.
Inherited from: \Zend_Gdata_App::getPreviousFeed()| Name | Type | Description |
|---|---|---|
| $feed | \Zend_Gdata_App_Feed | The feed from which to retreive the previous set of results. |
| $className | string | (optional) The class of feed to be returned. If null, the previous feed (if found) will be the same class as the feed that was given as the first argument. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed | null | Returns a Zend_Gdata_App_Feed or null if no previous set of results exists. |

getStaticHttpClient() : \Zend_Http_Client
If none is set, a new Zend_Http_Client will be used.
| Type | Description |
|---|---|
| \Zend_Http_Client |

getVerboseExceptionMessages() : booleanGet whether to use verbose exception messages
Inherited from: \Zend_Gdata_App::getVerboseExceptionMessages()In the case of HTTP errors, use the body of the HTTP response in the exception message.
| Type | Description |
|---|---|
| boolean |

import(string $uri, \Zend_Http_Client $client = null, string $className = 'Zend_Gdata_Feed') : string | \Zend_Gdata_App_FeedImports a feed located at $uri.
| Name | Type | Description |
|---|---|---|
| $uri | string | |
| $client | \Zend_Http_Client | The client used for communication |
| $className | string | The class which is used as the return type |
| 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. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

importFile(string $filename, string $className = 'Zend_Gdata_App_Feed', string $useIncludePath = false) : \Zend_Gdata_App_FeedImports a feed from a file located at $filename.
Inherited from: \Zend_Gdata_App::importFile()| Name | Type | Description |
|---|---|---|
| $filename | string | |
| $className | string | The class which is used as the return type |
| $useIncludePath | string | Whether the include_path should be searched |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

importString(string $string, string $className = 'Zend_Gdata_App_Feed', $majorProtocolVersion = null, $minorProtocolVersion = null) : \Zend_Gdata_App_FeedImports a feed represented by $string.
Inherited from: \Zend_Gdata_App::importString()| Name | Type | Description |
|---|---|---|
| $string | string | |
| $className | string | The class which is used as the return type |
| $majorProtocolVersion | ||
| $minorProtocolVersion |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Feed |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

importUrl(string $url, string $className = 'Zend_Gdata_App_Feed', array $extraHeaders = array()) : string | \Zend_Gdata_App_Feed
| 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. |
| 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. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

insertEntry(mixed $data, string $uri, string $className = 'Zend_Gdata_App_Entry', array $extraHeaders = array()) : \Zend_Gdata_App_EntryInserts an entry to a given URI and returns the response as a fully formed Entry.
Inherited from: \Zend_Gdata_App::insertEntry()| 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. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Entry | The entry returned by the service after insertion. |

isAuthenticated() : booleanDetermines whether service object is authenticated.
| Type | Description |
|---|---|
| boolean | True if service object is authenticated, false otherwise. |

performHttpRequest(string $method, string $url, array $headers = array(), string $body = null, string $contentType = null, int $remainingRedirects = null) : \Zend_Http_ResponsePerforms a HTTP request using the specified method.
Overrides the definition in the parent (Zend_Gdata_App) and uses the Zend_Gdata_HttpClient functionality to filter the HTTP requests and responses.
| 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 |
| Type | Description |
|---|---|
| \Zend_Http_Response | The response object |

post(mixed $data, string $uri = null, $remainingRedirects = null, string $contentType = null, array $extraHeaders = null) : \Zend_Http_Response
| 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. |
| Type | Description |
|---|---|
| \Zend_Http_Response |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception | |
| \Zend_Gdata_App_HttpException | |
| \Zend_Gdata_App_InvalidArgumentException |

prepareRequest(string $method, string $url = null, array $headers = array(), mixed $data = null, string $contentTypeOverride = null) : arrayProvides pre-processing for HTTP requests to APP services.
Inherited from: \Zend_Gdata_App::prepareRequest()- 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()
| 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 |
| 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
| 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. |
| Type | Description |
|---|---|
| \Zend_Http_Response |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception | |
| \Zend_Gdata_App_HttpException | |
| \Zend_Gdata_App_InvalidArgumentException |

registerPackage(string $name) : voidAdds a Zend Framework package to the $_registeredPackages array.
Inherited from: \Zend_Gdata_App::registerPackage()This array is searched when using the magic __call method below to instantiante new objects.
| Name | Type | Description |
|---|---|---|
| $name | string | The name of the package (eg Zend_Gdata_App) |

retrieveAllEntriesForFeed(object $feed) : mixedRetrieve all entries for a feed, iterating through pages as necessary.
Inherited from: \Zend_Gdata_App::retrieveAllEntriesForFeed()Be aware that calling this function on a large dataset will take a significant amount of time to complete. In some cases this may cause execution to timeout without proper precautions in place.
| Name | Type | Description |
|---|---|---|
| $feed | object | The feed to iterate through. |
| Type | Description |
|---|---|
| mixed | A new feed of the same type as the one originally passed in, containing all relevent entries. |

setGzipEnabled(boolean $enabled = false) : voidToggle requesting gzip encoded responses
Inherited from: \Zend_Gdata_App::setGzipEnabled()| Name | Type | Description |
|---|---|---|
| $enabled | boolean | Whether or not to enable gzipped responses |

setHttpClient(\Zend_Http_Client $client, $applicationId = 'MyCompany-MyApp-1.0') : \Zend_Gdata_AppSet the Zend_Http_Client object used for communication
Inherited from: \Zend_Gdata_App::setHttpClient()| Name | Type | Description |
|---|---|---|
| $client | \Zend_Http_Client | The client to use for communication |
| $applicationId |
| Type | Description |
|---|---|
| \Zend_Gdata_App | Provides a fluent interface |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_HttpException |

setHttpMethodOverride(boolean $override = true) : voidToggle using POST instead of PUT and DELETE HTTP methods
Inherited from: \Zend_Gdata_App::setHttpMethodOverride()Some feed implementations do not accept PUT and DELETE HTTP methods, or they can't be used because of proxies or other measures. This allows turning on using POST where PUT and DELETE would normally be used; in addition, an X-Method-Override header will be sent with a value of PUT or DELETE as appropriate.
| Name | Type | Description |
|---|---|---|
| $override | boolean | Whether to override PUT and DELETE with POST. |

setMajorProtocolVersion(int $value) : voidSet the major protocol version that should be used.
Inherited from: \Zend_Gdata_App::setMajorProtocolVersion()Values < 1 will cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
| Name | Type | Description |
|---|---|---|
| $value | int | The major protocol version to use. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_InvalidArgumentException |
- See
- \global\_majorProtocolVersion

setMaxRedirects(int $maxRedirects) : voidSet the maximum number of redirects to follow during HTTP operations
Inherited from: \Zend_Gdata_App::setMaxRedirects()| Name | Type | Description |
|---|---|---|
| $maxRedirects | int | Maximum number of redirects to follow |

setMinorProtocolVersion(\(int | \NULL) $value) : voidSet the minor protocol version that should be used.
Inherited from: \Zend_Gdata_App::setMinorProtocolVersion()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.
| Name | Type | Description |
|---|---|---|
| $value | \(int | \NULL) | The minor protocol version to use. |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_InvalidArgumentException |
- See
- \global\_minorProtocolVersion

setStaticHttpClient(\Zend_Http_Client $httpClient) : voidSet the static HTTP client instance
Inherited from: \Zend_Gdata_App::setStaticHttpClient()Sets the static HTTP client object to use for retrieving the feed.
| Name | Type | Description |
|---|---|---|
| $httpClient | \Zend_Http_Client |

setVerboseExceptionMessages(boolean $verbose) : voidSet whether to use verbose exception messages
Inherited from: \Zend_Gdata_App::setVerboseExceptionMessages()In the case of HTTP errors, use the body of the HTTP response in the exception message.
| Name | Type | Description |
|---|---|---|
| $verbose | boolean | Whether to use verbose exception messages |

updateEntry(mixed $data, string | null $uri = null, string | null $className = null, array $extraHeaders = array()) : \Zend_Gdata_App_Entry
| 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. |
| Type | Description |
|---|---|
| \Zend_Gdata_App_Entry | The entry returned from the server |
| Exception | Description |
|---|---|
| \Zend_Gdata_App_Exception |

useObjectMapping(boolean $value) : voidEnable/disable the use of XML to object mapping.
Inherited from: \Zend_Gdata_App::useObjectMapping()| Name | Type | Description |
|---|---|---|
| $value | boolean | Pass in true to use the XML to object mapping. Pass in false or null to disable it. |

usingObjectMapping() : booleanDetermine whether service object is using XML to object mapping.
Inherited from: \Zend_Gdata_App::usingObjectMapping()| Type | Description |
|---|---|
| boolean | True if service object is using XML to object mapping, false otherwise. |