# NAME API::Twitter - Twitter.com API Client # VERSION version 0.05 # SYNOPSIS use API::Twitter; my $twitter = API::Twitter->new( consumer_key => 'CONSUMER_KEY', consumer_secret => 'CONSUMER_SECRET', access_token => 'ACCESS_TOKEN', access_token_secret => 'ACCESS_TOKEN_SECRET', identifier => 'IDENTIFIER', ); $twitter->debug(1); $twitter->fatal(1); my $user = $twitter->users('lookup'); my $results = $user->fetch; # after some introspection $user->update( ... ); # DESCRIPTION This distribution provides an object-oriented thin-client library for interacting with the Twitter ([http://twitter.com](http://twitter.com)) API. For usage and documentation information visit [https://dev.twitter.com/rest/public](https://dev.twitter.com/rest/public). API::Twitter is derived from [API::Client](https://metacpan.org/pod/API::Client) and inherits all of it's functionality. Please read the documentation for API::Client for more usage information. # ATTRIBUTES ## access\_token $twitter->access_token; $twitter->access_token('ACCESS_TOKEN'); The access\_token attribute should be set to an API access\_token associated with your account. ## access\_token\_secret $twitter->access_token_secret; $twitter->access_token_secret('ACCESS_TOKEN_SECRET'); The access\_token\_secret attribute should be set to an API access\_token\_secret associated with your account. ## consumer\_key $twitter->consumer_key; $twitter->consumer_key('CONSUMER_KEY'); The consumer\_key attribute should be set to an API consumer\_key associated with your account. ## consumer\_secret $twitter->consumer_secret; $twitter->consumer_secret('CONSUMER_SECRET'); The consumer\_secret attribute should be set to an API consumer\_secret associated with your account. ## identifier $twitter->identifier; $twitter->identifier('IDENTIFIER'); The identifier attribute should be set to a string that identifies your app. ## debug $twitter->debug; $twitter->debug(1); The debug attribute if true prints HTTP requests and responses to standard out. ## fatal $twitter->fatal; $twitter->fatal(1); The fatal attribute if true promotes 4xx and 5xx server response codes to exceptions, a [API::Client::Exception](https://metacpan.org/pod/API::Client::Exception) object. ## retries $twitter->retries; $twitter->retries(10); The retries attribute determines how many times an HTTP request should be retried if a 4xx or 5xx response is received. This attribute defaults to 1. ## timeout $twitter->timeout; $twitter->timeout(5); The timeout attribute determines how long an HTTP connection should be kept alive. This attribute defaults to 10. ## url $twitter->url; $twitter->url(Mojo::URL->new('https://api.twitter.com')); The url attribute set the base/pre-configured URL object that will be used in all HTTP requests. This attribute expects a [Mojo::URL](https://metacpan.org/pod/Mojo::URL) object. ## user\_agent $twitter->user_agent; $twitter->user_agent(Mojo::UserAgent->new); The user\_agent attribute set the pre-configured UserAgent object that will be used in all HTTP requests. This attribute expects a [Mojo::UserAgent](https://metacpan.org/pod/Mojo::UserAgent) object. # METHODS ## action my $result = $twitter->action($verb, %args); # e.g. $twitter->action('head', %args); # HEAD request $twitter->action('options', %args); # OPTIONS request $twitter->action('patch', %args); # PATCH request The action method issues a request to the API resource represented by the object. The first parameter will be used as the HTTP request method. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## create my $results = $twitter->create(%args); # or $twitter->POST(%args); The create method issues a `POST` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## delete my $results = $twitter->delete(%args); # or $twitter->DELETE(%args); The delete method issues a `DELETE` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## fetch my $results = $twitter->fetch(%args); # or $twitter->GET(%args); The fetch method issues a `GET` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## update my $results = $twitter->update(%args); # or $twitter->PUT(%args); The update method issues a `PUT` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. # RESOURCES ## account $twitter->account; The account method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#account](https://dev.twitter.com/rest/public#account). ## application $twitter->application; The application method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#application](https://dev.twitter.com/rest/public#application). ## blocks $twitter->blocks; The blocks method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#blocks](https://dev.twitter.com/rest/public#blocks). ## direct\_messages $twitter->direct_messages; The direct\_messages method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#direct\_messages](https://dev.twitter.com/rest/public#direct_messages). ## favorites $twitter->favorites; The favorites method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#favorites](https://dev.twitter.com/rest/public#favorites). ## followers $twitter->followers; The followers method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#followers](https://dev.twitter.com/rest/public#followers). ## friends $twitter->friends; The friends method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#friends](https://dev.twitter.com/rest/public#friends). ## friendships $twitter->friendships; The friendships method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#friendships](https://dev.twitter.com/rest/public#friendships). ## geo $twitter->geo; The geo method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#geo](https://dev.twitter.com/rest/public#geo). ## help $twitter->help; The help method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#help](https://dev.twitter.com/rest/public#help). ## lists $twitter->lists; The lists method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#lists](https://dev.twitter.com/rest/public#lists). ## media $twitter->media; The media method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#media](https://dev.twitter.com/rest/public#media). ## mutes $twitter->mutes; The mutes method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#mutes](https://dev.twitter.com/rest/public#mutes). ## saved\_searches $twitter->saved_searches; The saved\_searches method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#saved\_searches](https://dev.twitter.com/rest/public#saved_searches). ## search $twitter->search; The search method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#search](https://dev.twitter.com/rest/public#search). ## statuses $twitter->statuses; The statuses method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#statuses](https://dev.twitter.com/rest/public#statuses). ## trends $twitter->trends; The trends method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#trends](https://dev.twitter.com/rest/public#trends). ## users $twitter->users; The users method returns a new instance representative of the API resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://dev.twitter.com/rest/public#users](https://dev.twitter.com/rest/public#users). # AUTHOR Al Newkirk # COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Al Newkirk. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.