| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108 |
- <?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="https://dev.twitter.com/docs/api/1.1">Twitter <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> wraps all web service
- operations, including OAuth, and all methods return an instance of
- <classname>Zend_Service_Twitter_Response</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> allows you to check that your account credentials are
- valid.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>application</code> allows you to check your <acronym>API</acronym> rate
- limit.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>blocks</code> blocks and unblocks users from following you.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>directMessages</code> retrieves the authenticated user's received direct
- messages, deletes direct messages, and sends new direct messages.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>favorites</code> lists, creates, and removes favorite tweets.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>friendships</code> creates and removes friendships for the
- authenticated user.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>search</code> allows you to search statuses for specific criteria.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>statuses</code> retrieves the public and user timelines and
- shows, updates, destroys, and retrieves replies for the authenticated user.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>users</code> retrieves friends and followers for the authenticated user
- and returns extended information about a passed user.
- </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(
- 'accessToken' => $token
- 'oauth_options' => array(
- 'username' => 'johndoe',
- ),
- ));
- // 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>
- <para>
- If you have registered an application with Twitter, you can also use the access token
- and access token secret they provide you in order to setup the OAuth consumer. This can
- be done as follows:
- </para>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'access_token' => array( // or use "accessToken" as the key; both work
- 'token' => 'your-access-token',
- 'secret' => 'your-access-token-secret',
- ),
- 'oauth_options' => array( // or use "oauthOptions" as the key; both work
- 'consumerKey' => 'your-consumer-key',
- 'consumerSecret' => 'your-consumer-secret',
- ),
- ));
- ]]></programlisting>
- <para>
- If desired, you can also specify a specific HTTP client instance to use, or provide
- configuration for the HTTP client. To provide the HTTP client, use the
- <varname>http_client</varname> or <varname>httpClient</varname> key, and provide an
- instance. To provide HTTP client configuration for setting up an instance, use the key
- <varname>http_client_options</varname> or <varname>httpClientOptions</varname>. As a
- full example:
- </para>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter(array(
- 'access_token' => array( // or use "accessToken" as the key; both work
- 'token' => 'your-access-token',
- 'secret' => 'your-access-token-secret',
- ),
- 'oauth_options' => array( // or use "oauthOptions" as the key; both work
- 'consumerKey' => 'your-consumer-key',
- 'consumerSecret' => 'your-consumer-secret',
- ),
- 'http_client_options' => array(
- 'adapter' => 'Zend_Http_Client_Adapter_Curl',
- ),
- ));
- ]]></programlisting>
- </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($options);
- $response = $twitter->account->verifyCredentials();
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.application">
- <title>Application Methods</title>
- <itemizedlist>
- <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.application.ratelimitstatus">
- <title>Rating limit status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->application->rateLimitStatus();
- $userTimelineLimit = $response->resources->statuses->{'/statuses/user_timeline'}->remaining;
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.blocks">
- <title>Block Methods</title>
- <itemizedlist>
- <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 when successful.
- </para>
- <example id="zend.service.twitter.blocks.create">
- <title>Blocking a user</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->blocks->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.blocks.destroy">
- <title>Removing a block</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->blocks->destroy('blockeduser');
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>ids()</methodname> returns an array of user identifiers that the
- authenticating user is blocking.
- </para>
- <example id="zend.service.twitter.blocks.ids">
- <title>Who are you blocking (identifiers only)</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->blocks->ids();
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>list()</methodname> returns an array of user objects that the
- authenticating user is blocking.
- </para>
- <example id="zend.service.twitter.blocks.list">
- <title>Who are you blocking</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->blocks->list();
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.directmessages">
- <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.directmessages.messages">
- <title>Retrieving recent direct messages received</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->directMessages->messages();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>messages()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 200.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>skip_status</code>, when set to boolean true, "t", or 1 will skip
- including a user's most recent status in the results.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </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.directmessages.sent">
- <title>Retrieving recent direct messages sent</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->directMessages->sent();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>sent()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 20.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies the page of results to return, based on the
- <code>count</code> provided.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </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.directmessages.new">
- <title>Sending a direct message</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->directMessages->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.directmessages.destroy">
- <title>Deleting a direct message</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->directMessages->destroy(123548);
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.favorites">
- <title>Favorites Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>list()</methodname> returns the 20 most recent favorite
- statuses for the authenticating user or user specified by the
- <code>user_id</code> or <code>screen_name</code> parameter.
- </para>
- <example id="zend.service.twitter.favorites.list">
- <title>Retrieving favorites</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->favorites->list();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>list()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>user_id</code> specifies the ID of the user for whom to return the
- timeline.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>screen_name</code> specifies the screen name of the user for
- whom to return the timeline.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 200.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </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.favorites.create">
- <title>Creating a favorite</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->favorites->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.favorites.destroy">
- <title>Deleting favorites</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->favorites->destroy(12351);
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.friendships">
- <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.friendships.create">
- <title>Creating a friend</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->friendships->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.friendships.destroy">
- <title>Deleting a friend</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->friendships->destroy('myoldfriend');
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.search">
- <title>Search Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>tweets()</methodname> returns a list of tweets matching the criteria
- specified in <varname>$query</varname>. By default, 15 will be returned, but
- this value may be changed using the <varname>count</varname> option.
- </para>
- <example id="zend.service.twitter.search.tweets">
- <title>Searching for tweets</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->search->tweets('#zendframework');
- ]]></programlisting>
- </example>
- <para>
- The <methodname>tweets()</methodname> method accepts an optional second
- argument, an array of optional parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 200.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>lang</code> indicates which two-letter language code to restrict
- results to.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>locale</code> indicates which two-letter language code is being
- used in the query.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>geocode</code> can be used to indicate the geographical radius in
- which tweets should originate; the string should be in the form
- "latitude,longitude,radius", with "radius" being a unit followed by one
- of "mi" or "km".
- </para>
- </listitem>
- <listitem>
- <para>
- <code>result_type</code> indicates what type of results to retrieve, and
- should be one of "mixed," "recent," or "popular."
- </para>
- </listitem>
- <listitem>
- <para>
- <code>until</code> can be used to specify a the latest date for which to
- return tweets.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.statuses">
- <title>Status Methods</title>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>sample()</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.statuses.sample">
- <title>Retrieving public timeline</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->statuses->sample();
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>homeTimeline()</methodname> returns the 20 most recent statuses
- posted by the authenticating user and that user's friends.
- </para>
- <example id="zend.service.twitter.statuses.hometimeline">
- <title>Retrieving the home timeline</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- ));
- $response = $twitter->statuses->homeTimeline();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>homeTimeline()</methodname> method accepts an array of
- optional parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 200.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>trim_user</code>, when set to boolean true, "t", or 1, will list
- the author identifier only in embedded user objects in the statuses
- returned.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>contributor_details</code>, when set to boolean true, will return
- the screen name of any contributors to a status (instead of only the
- contributor identifier).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>exclude_replies</code> controls whether or not status updates that
- are in reply to other statuses will be returned.
- </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.statuses.usertimeline">
- <title>Retrieving user timeline</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->statuses->userTimeline();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>userTimeline()</methodname> method accepts an array of optional
- parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>user_id</code> specifies the ID of the user for whom to return the
- timeline.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>screen_name</code> specifies the screen name of the user for
- whom to return the timeline.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 200.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>trim_user</code>, when set to boolean true, "t", or 1, will list
- the author identifier only in embedded user objects in the statuses
- returned.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>contributor_details</code>, when set to boolean true, will return
- the screen name of any contributors to a status (instead of only the
- contributor identifier).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_rts</code> controls whether or not to include native
- retweets in the returned list.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>exclude_replies</code> controls whether or not status updates that
- are in reply to other statuses will be returned.
- </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.statuses.show">
- <title>Showing user status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->statuses->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.statuses.update">
- <title>Updating user status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->statuses->update('My Great Tweet');
- ]]></programlisting>
- </example>
- <para>
- The <methodname>update()</methodname> method accepts a second additional
- parameter.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>inReplyToStatusId</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>mentionsTimeline()</methodname> returns the 20 most recent @replies
- (status updates prefixed with @username) for the authenticating user.
- </para>
- <example id="zend.service.twitter.statuses.mentionstimeline">
- <title>Showing user replies</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->statuses->mentionsTimeline();
- ]]></programlisting>
- </example>
- <para>
- The <methodname>mentionsTimeline()</methodname> method accepts an array of
- optional parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>since_id</code> narrows the returned results to just those
- statuses after the specified identifier (up to 24 hours old).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>max_id</code> narrows the returned results to just those
- statuses earlier than the specified identifier.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 200.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>trim_user</code>, when set to boolean true, "t", or 1, will list
- the author identifier only in embedded user objects in the statuses
- returned.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>contributor_details</code>, when set to boolean true, will return
- the screen name of any contributors to a status (instead of only the
- contributor identifier).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </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.statuses.destroy">
- <title>Deleting user status</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->statuses->destroy(12345);
- ]]></programlisting>
- </example>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.service.twitter.users">
- <title>User Methods</title>
- <itemizedlist>
- <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.users.show">
- <title>Showing user informations</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->users->show('myfriend');
- ]]></programlisting>
- </example>
- </listitem>
- <listitem>
- <para>
- <methodname>search()</methodname> will search for users matching the query
- provided.
- </para>
- <example id="zend.service.twitter.users.search">
- <title>Searching for users</title>
- <programlisting language="php"><![CDATA[
- $twitter = new Zend_Service_Twitter($options);
- $response = $twitter->users->search('Zend');
- ]]></programlisting>
- </example>
- <para>
- The <methodname>search()</methodname> method accepts an array of
- optional parameters to modify the query.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>count</code> specifies the number of statuses to return, up to 20.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>page</code> specifies the page of results to return, based on the
- <code>count</code> provided.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>include_entities</code> controls whether or not entities, which
- includes URLs, mentioned users, and hashtags, will be returned.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|