| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.service.twitter" xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>Zend_Service_Twitter</title>
- <sect2 id="zend.service.twitter.introduction">
- <title>Introduction</title>
- <para>
- <classname>Zend_Service_Twitter</classname> provides a client for the
- <ulink url="http://apiwiki.twitter.com/Twitter-API-Documentation">Twitter
- <acronym>REST</acronym> <acronym>API</acronym></ulink>.
- <classname>Zend_Service_Twitter</classname> allows you to query the public timeline. If
- you provide a username and OAuth details for Twitter, it will allow you to get and update
- your status, reply to friends, direct message friends, mark tweets as favorite, and
- much more.
- </para>
- <para>
- <classname>Zend_Service_Twitter</classname> implements a <acronym>REST</acronym>
- service, and all methods return an instance of
- <classname>Zend_Rest_Client_Result</classname>.
- </para>
- <para>
- <classname>Zend_Service_Twitter</classname> is broken up into subsections so you can
- easily identify which type of call is being requested.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>account</code> makes sure that your account credentials are valid, checks
- your <acronym>API</acronym> rate limit, and ends the current session for the
- authenticated user.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>status</code> retrieves the public and user timelines and
- shows, updates, destroys, and retrieves replies for the authenticated user.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>user</code> retrieves friends and followers for the authenticated user
- and returns extended information about a passed user.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>directMessage</code> retrieves the authenticated user's received direct
- messages, deletes direct messages, and sends new direct messages.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>friendship</code> creates and removes friendships for the
- authenticated user.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>favorite</code> lists, creates, and removes favorite tweets.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>block</code> blocks and unblocks users from following you.
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.authentication">
- <title>Authentication</title>
- <para>
- With the exception of fetching the public timeline,
- <classname>Zend_Service_Twitter</classname> requires authentication as a valid
- user. This is achieved using the OAuth authentication protocol. OAuth is
- the only supported authentication mode for Twitter as of August 2010. The OAuth
- implementation used by <classname>Zend_Service_Twitter</classname> is
- <classname>Zend_Oauth</classname>.
- </para>
- <example id="zend.service.twitter.authentication.example">
- <title>Creating the Twitter Class</title>
- <para>
- <classname>Zend_Service_Twitter</classname> must authorize itself, on behalf of a user, before use with the
- Twitter API (except for public timeline). This must be accomplished using OAuth since
- Twitter has disabled it's basic HTTP authentication as of August 2010.
- </para>
- <para>
- There are two options to establishing authorization. The first is to implement the
- workflow of <classname>Zend_Oauth</classname> via <classname>Zend_Service_Twitter</classname>
- which proxies to an internal <classname>Zend_Oauth_Consumer</classname> object. Please refer to
- the <classname>Zend_Oauth</classname> documentation for a full example of this
- workflow - you can call all documented <classname>Zend_Oauth_Consumer</classname> methods
- on <classname>Zend_Service_Twitter</classname> including constructor options. You may also
- use <classname>Zend_Oauth</classname> directly and only pass the resulting access
- token into <classname>Zend_Service_Twitter</classname>. This is the normal workflow
- once you have established a reusable access token for a particular Twitter user. The resulting OAuth
- access token should be stored to a database for future use (otherwise you will need to
- authorize for every new instance of <classname>Zend_Service_Twitter</classname>). Bear in mind
- that authorization via OAuth results in your user being redirected to Twitter to give their
- consent to the requested authorization (this is not repeated for stored access tokens). This will
- require additional work (i.e. redirecting users and hosting a callback URL) over the previous
- HTTP authentication mechanism where a user just
- needed to allow applications to store their username and password.
- </para>
- <para>The following example demonstrates setting up <classname>Zend_Service_Twitter</classname>
- which is given an already established OAuth access token. Please refer to the <classname>Zend_Oauth</classname>
- documentation to understand the workflow involved. The access token is a serializable object, so you may
- store the serialized object to a database, and unserialize it at retrieval time before passing the objects
- into <classname>Zend_Service_Twitter</classname>. The <classname>Zend_Oauth</classname> documentation
- demonstrates the workflow and objects involved.</para>
- <programlisting language="php"><![CDATA[
- /**
- * We assume $serializedToken is the serialized token retrieved from a database
- * or even $_SESSION (if following the simple Zend_Oauth documented example)
- */
- $token = unserialize($serializedToken);
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- // verify user's credentials with Twitter
- $response = $twitter->account->verifyCredentials();
- ]]></programlisting>
- </example>
- <note>
- <para>
- In order to authenticate with Twitter, ALL applications MUST be registered with
- Twitter in order to receive a Consumer Key and Consumer Secret to be used when
- authenticating with OAuth. This can not be reused across multiple applications -
- you must register each new application separately. Twitter access tokens have
- no expiry date, so storing them to a database is advised (they can, of course,
- be refreshed simply be repeating the OAuth authorization process). This can only
- be done while interacting with the user associated with that access token.
- </para>
- <para>
- The previous pre-OAuth version of <classname>Zend_Service_Twitter</classname>
- allowed passing in a username as the first parameter rather than within an array.
- This is no longer supported.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.service.twitter.account">
- <title>Account Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>verifyCredentials()</methodname> tests if supplied user
- credentials are valid with minimal overhead.
- </para>
- <example id="zend.service.twitter.account.verifycredentails">
- <title>Verifying credentials</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->account->verifyCredentials();
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>endSession()</methodname> signs users out of
- client-facing applications.
- </para>
- <example id="zend.service.twitter.account.endsession">
- <title>Sessions ending</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->account->endSession();
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>rateLimitStatus()</methodname> returns the remaining number of
- <acronym>API</acronym> requests available to the authenticating user
- before the <acronym>API</acronym> limit is reached for the current hour.
- </para>
- <example id="zend.service.twitter.account.ratelimitstatus">
- <title>Rating limit status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->account->rateLimitStatus();
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.status">
- <title>Status Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>publicTimeline()</methodname> returns the 20 most recent statuses
- from non-protected users with a custom user icon. The public timeline is cached
- by Twitter for 60 seconds.
- </para>
- <example id="zend.service.twitter.status.publictimeline">
- <title>Retrieving public timeline</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->publicTimeline();
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>friendsTimeline()</methodname> returns the 20 most recent statuses
- posted by the authenticating user and that user's friends.
- </para>
- <example id="zend.service.twitter.status.friendstimeline">
- <title>Retrieving friends timeline</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->friendsTimeline();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>friendsTimeline()</methodname> method accepts an array of
- optional parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since</code> narrows the returned results to just those statuses
- created after the specified date/time (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>userTimeline()</methodname> returns the 20 most recent statuses
- posted from the authenticating user.
- </para>
- <example id="zend.service.twitter.status.usertimeline">
- <title>Retrieving user timeline</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->userTimeline();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>userTimeline()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>id</code> specifies the ID or screen name of the user for whom to
- return the friends_timeline.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since</code> narrows the returned results to just those statuses
- created after the specified date/time (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to retrieve.
- May not be greater than 200.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>show()</methodname> returns a single status, specified by the
- <code>id</code> parameter below. The status' author will be returned inline.
- </para>
- <example id="zend.service.twitter.status.show">
- <title>Showing user status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->show(1234);
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>update()</methodname> updates the authenticating user's status.
- This method requires that you pass in the status update that you want to post
- to Twitter.
- </para>
- <example id="zend.service.twitter.status.update">
- <title>Updating user status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->update('My Great Tweet');
- ]]></programlisting>
- </example>
- <para>
- The <methodname>update()</methodname> method accepts a second additional
- parameter.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>in_reply_to_status_id</code> specifies the ID of an existing
- status that the status to be posted is in reply to.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>replies()</methodname> returns the 20 most recent @replies (status
- updates prefixed with @username) for the authenticating user.
- </para>
- <example id="zend.service.twitter.status.replies">
- <title>Showing user replies</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->replies();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>replies()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since</code> narrows the returned results to just those statuses
- created after the specified date/time (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since_id</code> returns only statuses with an ID greater than
- (that is, more recent than) the specified ID.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>destroy()</methodname> destroys the status specified by the
- required <code>id</code> parameter.
- </para>
- <example id="zend.service.twitter.status.destroy">
- <title>Deleting user status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->status->destroy(12345);
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.user">
- <title>User Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>friends()</methodname>r eturns up to 100 of the authenticating
- user's friends who have most recently updated, each with current status inline.
- </para>
- <example id="zend.service.twitter.user.friends">
- <title>Retrieving user friends</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->user->friends();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>friends()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>id</code> specifies the ID or screen name of the user for whom to
- return a list of friends.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since</code> narrows the returned results to just those statuses
- created after the specified date/time (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>followers()</methodname> returns the authenticating user's
- followers, each with current status inline.
- </para>
- <example id="zend.service.twitter.user.followers">
- <title>Retrieving user followers</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->user->followers();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>followers()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>id</code> specifies the ID or screen name of the user for whom to
- return a list of followers.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>show()</methodname> returns extended information of a given user,
- specified by ID or screen name as per the required <code>id</code>
- parameter below.
- </para>
- <example id="zend.service.twitter.user.show">
- <title>Showing user informations</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->user->show('myfriend');
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.directmessage">
- <title>Direct Message Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>messages()</methodname> returns a list of the 20 most recent direct
- messages sent to the authenticating user.
- </para>
- <example id="zend.service.twitter.directmessage.messages">
- <title>Retrieving recent direct messages received</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->directMessage->messages();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>message()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since_id</code> returns only direct messages with an ID greater
- than (that is, more recent than) the specified ID.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since</code> narrows the returned results to just those statuses
- created after the specified date/time (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>sent()</methodname> returns a list of the 20 most recent direct
- messages sent by the authenticating user.
- </para>
- <example id="zend.service.twitter.directmessage.sent">
- <title>Retrieving recent direct messages sent</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->directMessage->sent();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>sent()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since_id</code> returns only direct messages with an ID greater
- than (that is, more recent than) the specified ID.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since</code> narrows the returned results to just those statuses
- created after the specified date/time (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>new()</methodname> sends a new direct message to the specified user
- from the authenticating user. Requires both the user and text parameters below.
- </para>
- <example id="zend.service.twitter.directmessage.new">
- <title>Sending direct message</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->directMessage->new('myfriend', 'mymessage');
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>destroy()</methodname> destroys the direct message specified in the
- required <code>id</code> parameter. The authenticating user must be the
- recipient of the specified direct message.
- </para>
- <example id="zend.service.twitter.directmessage.destroy">
- <title>Deleting direct message</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->directMessage->destroy(123548);
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.friendship">
- <title>Friendship Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>create()</methodname> befriends the user specified in the
- <code>id</code> parameter with the authenticating user.
- </para>
- <example id="zend.service.twitter.friendship.create">
- <title>Creating friend</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->friendship->create('mynewfriend');
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>destroy()</methodname> discontinues friendship with the user
- specified in the <code>id</code> parameter and the authenticating user.
- </para>
- <example id="zend.service.twitter.friendship.destroy">
- <title>Deleting friend</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->friendship->destroy('myoldfriend');
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>exists()</methodname> tests if a friendship exists between the
- user specified in the <code>id</code> parameter and the authenticating user.
- </para>
- <example id="zend.service.twitter.friendship.exists">
- <title>Checking friend existence</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->friendship->exists('myfriend');
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.favorite">
- <title>Favorite Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>favorites()</methodname> returns the 20 most recent favorite
- statuses for the authenticating user or user specified by the
- <code>id</code> parameter.
- </para>
- <example id="zend.service.twitter.favorite.favorites">
- <title>Retrieving favorites</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->favorite->favorites();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>favorites()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>id</code> specifies the ID or screen name of the user for whom to
- request a list of favorite statuses.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies which page you want to return.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>create()</methodname> favorites the status specified in the
- <code>id</code> parameter as the authenticating user.
- </para>
- <example id="zend.service.twitter.favorite.create">
- <title>Creating favorites</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->favorite->create(12351);
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>destroy()</methodname> un-favorites the status specified in the
- <code>id</code> parameter as the authenticating user.
- </para>
- <example id="zend.service.twitter.favorite.destroy">
- <title>Deleting favorites</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->favorite->destroy(12351);
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.block">
- <title>Block Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>exists()</methodname> checks if the authenticating user is blocking
- a target user and can optionally return the blocked user's object if a
- block does exists.
- </para>
- <example id="zend.service.twitter.block.exists">
- <title>Checking if block exists</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- // returns true or false
- $response = $twitter->block->exists('blockeduser');
- // returns the blocked user's info if the user is blocked
- $response2 = $twitter->block->exists('blockeduser', true);
- ]]></programlisting>
- </example>
- <para>
- The <methodname>favorites()</methodname> method accepts a second
- optional parameter.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>returnResult</code> specifies whether or not return the user
- object instead of just <constant>TRUE</constant> or
- <constant>FALSE</constant>.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <methodname>create()</methodname> blocks the user specified in the
- <code>id</code> parameter as the authenticating user and destroys a friendship
- to the blocked user if one exists. Returns the blocked user in the requested
- format when successful.
- </para>
- <example id="zend.service.twitter.block.create">
- <title>Blocking a user</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->block->create('usertoblock);
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>destroy()</methodname> un-blocks the user specified in the
- <code>id</code> parameter for the authenticating user. Returns the un-blocked
- user in the requested format when successful.
- </para>
- <example id="zend.service.twitter.block.destroy">
- <title>Removing a block</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- $response = $twitter->block->destroy('blockeduser');
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>blocking()</methodname> returns an array of user objects that the
- authenticating user is blocking.
- </para>
- <example id="zend.service.twitter.block.blocking">
- <title>Who are you blocking</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'username' => 'johndoe',
- 'accessToken' => $token
- ));
- // return the full user list from the first page
- $response = $twitter->block->blocking();
- // return an array of numeric user IDs from the second page
- $response2 = $twitter->block->blocking(2, true);
- ]]></programlisting>
- </example>
- <para>
- The <methodname>favorites()</methodname> method accepts two optional parameters.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>page</code> specifies which page ou want to return. A single page
- contains 20 IDs.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>returnUserIds</code> specifies whether to return an array of
- numeric user IDs the authenticating user is blocking instead of an
- array of user objects.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </sect2>
- <xi:include href="Zend_Service_Twitter_Search.xml" />
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|