NAME
    WWW::TypePad::CmdLine - Helper library for writing WWW::TypePad apps

SYNOPSIS
        use WWW::TypePad::CmdLine;
    
        # Returns a WWW::TypePad instance, initialized with the necessary
        # consumer key/secret and access token/secret.
        my $tp = WWW::TypePad::CmdLine->initialize( requires_auth => 1 );

        # Then, you can do something like this:
        my $user = $tp->users->get( '@self' );

DESCRIPTION
    *WWW::TypePad::CmdLine* is a helper library for writing command-line
    applications that use *WWW::TypePad*. It handles the one-time OAuth
    authentication flow, config file setup, and storage of access tokens.

    Tokens and configuration are stored between runs of your application in
    a config file. By default, that config file will be located at:

        File::Spec->catfile( File::HomeDir->my_data, '.www-typepad-info' )

    *File::HomeDir->my_data* is an OS-aware data directory. On OS X, for
    example, it's ~/Library/Application Support.

    *WWW::TypePad::CmdLine* automatically adds a "--config" command-line
    option for your application, so that it's easy to support different
    locations for configuration files.

    On the first execution of a script using *WWW::TypePad::CmdLine*, you'll
    need to set the "TP_CONSUMER_KEY" and "TP_CONSUMER_SECRET" environment
    variables to the consumer key and secret for your TypePad application,
    respectively. You can also set "TP_HOST" to a host other than
    "api.typepad.com". Once the configuration file is saved after the first
    call to *initialize*, future runs of your script won't require these
    environment variables.

USAGE
  WWW::TypePad::CmdLine->initialize( %param )
    Initializes and returns a new *WWW::TypePad* object, initialized with
    all of the necessary information to start using it for authenticated
    requests (see "requires_auth").

    The configuration and tokens are stored between runs of your application
    in a config file (see above). If the config file doesn't exist, and your
    application requires authentication (see "requires_auth"), *initialize*
    will send the user through the OAuth authentication flow.

    When control returns to your application from calling *initialize*,
    you'll have a *WWW::TypePad* object initialized with everything you need
    to make authenticated (or non-authenticated) requests.

    *%param* can contain:

    *   requires_auth

        Controls whether or not your application requires an authenticated
        user in order to function. This controls whether, in the absence of
        a configuration file, *initialize* will send the user through the
        OAuth authentication flow.

AUTHOR
    Benjamin Trott <ben@sixapart.com>

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO
    WWW::TypePad

