# phpman > perldoc > Net::OAuth::Client

## NAME
    [Net::OAuth::Client](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AOAuth%3A%3AClient/markdown) - OAuth 1.0A Client

## SYNOPSIS
      # Web Server Example (Dancer)

      # This example is simplified for illustrative purposes, see the complete code in /demo

      # Note that client_id is the Consumer Key and client_secret is the Consumer Secret

      use Dancer;
      use [Net::OAuth::Client](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AOAuth%3A%3AClient/markdown);

      sub client {
            [Net::OAuth::Client](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AOAuth%3A%3AClient/markdown)->new(
                    config->{client_id},
                    config->{client_secret},
                    site => '<https://www.google.com/>',
                    request_token_path => '/accounts/OAuthGetRequestToken?scope=https%3A%2F%2Fwww.google.com%2Fm8%2Ffeeds%2F',
                    authorize_path => '/accounts/OAuthAuthorizeToken',
                    access_token_path => '/accounts/OAuthGetAccessToken',
                    callback => uri_for("/auth/google/callback"),
                    session => \&session,
            );
      }

      # Send user to authorize with service provider
      get '/auth/google' => sub {
            redirect client->authorize_url;
      };

      # User has returned with token and verifier appended to the URL.
      get '/auth/google/callback' => sub {

            # Use the auth code to fetch the access token
            my $access_token =  client->get_access_token(params->{oauth_token}, params->{oauth_verifier});

            # Use the access token to fetch a protected resource
            my $response = $access_token->get('/m8/feeds/contacts/default/full');

            # Do something with said resource...

            if ($response->is_success) {
              return "Yay, it worked: " . $response->decoded_content;
            }
            else {
              return "Error: " . $response->status_line;
            }
      };

      dance;

## DESCRIPTION
    [Net::OAuth::Client](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AOAuth%3A%3AClient/markdown) represents an OAuth client or consumer.

    WARNING: [Net::OAuth::Client](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AOAuth%3A%3AClient/markdown) is alpha code. The rest of [Net::OAuth](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AOAuth/markdown) is quite stable but this
    particular module is new, and is under-documented and under-tested.

## METHODS
### new
        Create a new Client

        *   $client_id

            AKA Consumer Key - you get this from the service provider when you register your
            application.

        *   $client_secret

            AKA Consumer Secret - you get this from the service provider when you register your
            application.

        *   $params{site}

        *   $params{request_token_path}

        *   $params{authorize_path}

        *   $params{access_token_path}

        *   $params{callback}

        *   $params{session}

## LICENSE AND COPYRIGHT
    Copyright 2011 Keith Grennan.

    This program is free software; you can redistribute it and/or modify it under the terms of
    either: the GNU General Public License as published by the Free Software Foundation; or the
    Artistic License.

    See <http://dev.perl.org/licenses/> for more information.

