<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># NAME

API::Twitter - Twitter.com API Client

# VERSION

version 0.03

# SYNOPSIS

    use API::Twitter;

    my $twitter = API::Twitter-&gt;new(
        consumer_key        =&gt; 'CONSUMER_KEY',
        consumer_secret     =&gt; 'CONSUMER_SECRET',
        access_token        =&gt; 'ACCESS_TOKEN',
        access_token_secret =&gt; 'ACCESS_TOKEN_SECRET',
        identifier          =&gt; 'IDENTIFIER',
    );

    $twitter-&gt;debug(1);
    $twitter-&gt;fatal(1);

    my $user = $twitter-&gt;users('lookup');
    my $results = $user-&gt;fetch;

    # after some introspection

    $user-&gt;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-&gt;access_token;
    $twitter-&gt;access_token('ACCESS_TOKEN');

The access\_token attribute should be set to an API access\_token associated with
your account.

## access\_token\_secret

    $twitter-&gt;access_token_secret;
    $twitter-&gt;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-&gt;consumer_key;
    $twitter-&gt;consumer_key('CONSUMER_KEY');

The consumer\_key attribute should be set to an API consumer\_key associated with
your account.

## consumer\_secret

    $twitter-&gt;consumer_secret;
    $twitter-&gt;consumer_secret('CONSUMER_SECRET');

The consumer\_secret attribute should be set to an API consumer\_secret
associated with your account.

## identifier

    $twitter-&gt;identifier;
    $twitter-&gt;identifier('IDENTIFIER');

The identifier attribute should be set to a string that identifies your app.

## debug

    $twitter-&gt;debug;
    $twitter-&gt;debug(1);

The debug attribute if true prints HTTP requests and responses to standard out.

## fatal

    $twitter-&gt;fatal;
    $twitter-&gt;fatal(1);

The fatal attribute if true promotes 4xx and 5xx server response codes to
exceptions, a [API::Twitter::Exception](https://metacpan.org/pod/API::Twitter::Exception) object.

## retries

    $twitter-&gt;retries;
    $twitter-&gt;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-&gt;timeout;
    $twitter-&gt;timeout(5);

The timeout attribute determines how long an HTTP connection should be kept
alive. This attribute defaults to 10.

## url

    $twitter-&gt;url;
    $twitter-&gt;url(Mojo::URL-&gt;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-&gt;user_agent;
    $twitter-&gt;user_agent(Mojo::UserAgent-&gt;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-&gt;action($verb, %args);

    # e.g.

    $twitter-&gt;action('head', %args);    # HEAD request
    $twitter-&gt;action('options', %args); # OPTIONS request
    $twitter-&gt;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-&gt;create(%args);

    # or

    $twitter-&gt;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-&gt;delete(%args);

    # or

    $twitter-&gt;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-&gt;fetch(%args);

    # or

    $twitter-&gt;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-&gt;update(%args);

    # or

    $twitter-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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 &lt;anewkirk@ana.io&gt;

# 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.
</pre></body></html>