The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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) API. For usage and documentation information visit https://dev.twitter.com/rest/public. API::Twitter is derived from 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 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 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 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

    $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.

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.

    $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.

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.

AUTHOR

Al Newkirk <anewkirk@ana.io>

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.