Caution: The documentation you are viewing is
for an older version of Zend Framework.
You can find the documentation of the current version at:
Zend_Service_Delicious - Zend_Service
Zend_Service_Delicious is simple API for using » del.icio.us XML and JSON web services. This component gives you read-write access to posts at del.icio.us if you provide credentials. It also allows read-only access to public data of all users.
Zend_Service_Delicious provides three methods for retrieving posts: getPosts(), getRecentPosts() and getAllPosts(). All of these methods return an instance of Zend_Service_Delicious_PostList, which holds all retrieved posts.
Instances of this class are returned by the getPosts(), getAllPosts(), getRecentPosts(), and getUserPosts() methods of Zend_Service_Delicious.
For easier data access this class implements the
Example #2 Accessing post lists
Note: The ArrayAccess::offsetSet() and ArrayAccess::offsetUnset() methods throw exceptions in this implementation. Thus, code like
$posts = 'A';will throw exceptions because these properties are read-only.
Post list objects have two built-in filtering capabilities. Post lists may be filtered by tags and by URL.
Example #3 Filtering a Post List with Specific Tags
Posts may be filtered by specific tags using withTags(). As a convenience, withTag() is also provided for when only a single tag needs to be specified.
Example #4 Filtering a Post List by URL
Posts may be filtered by URL matching a specified regular expression using the withUrl() method:
Example #5 Post editing
Example #6 Method call chaining
Every setter method returns the post object so that you can chain method calls using a fluent interface.
There are two ways to delete a post, by specifying the post URL or by calling the delete() method upon a post object.
Example #7 Deleting posts
To add a post you first need to call the createNewPost() method, which returns a Zend_Service_Delicious_Post object. When you edit the post, you need to save it to the del.icio.us database by calling the save() method.
Example #8 Adding a post
The del.icio.us web API allows access to the public data of all users.
|getUserFans()||Retrieves fans of a user||Array|
|getUserNetwork()||Retrieves network of a user||Array|
|getUserPosts()||Retrieves posts of a user||Zend_Service_Delicious_PostList|
|getUserTags()||Retrieves tags of a user||Array|
Note: When using only these methods, a username and password combination is not required when constructing a new Zend_Service_Delicious object.
Example #11 Retrieving public data
When retrieving public posts with the getUserPosts() method, a Zend_Service_Delicious_PostList object is returned, and it contains Zend_Service_Delicious_SimplePost objects, which contain basic information about the posts, including URL, title, notes, and tags.
|getNotes()||Returns notes of a post||String|
|getTags()||Returns tags of a post||Array|
|getTitle()||Returns title of a post||String|
|getUrl()||Returns URL of a post||String|
Zend_Service_Delicious uses Zend_Rest_Client for making HTTP requests to the del.icio.us web service. To change which HTTP client Zend_Service_Delicious uses, you need to change the HTTP client of Zend_Rest_Client.
Example #12 Changing the HTTP client of Zend_Rest_Client
When you are making more than one request with Zend_Service_Delicious to speed your requests, it's better to configure your HTTP client to keep connections alive.
Example #13 Configuring your HTTP client to keep connections alive
Note: When a Zend_Service_Delicious object is constructed, the SSL transport of Zend_Rest_Client is set to
'ssl'rather than the default of
'ssl2'. This is because del.icio.us has some problems with
'ssl2', such as requests taking a long time to complete (around 2 seconds).