Provided by: libvuser-google-api-perl_1.0.1-1_all bug

NAME

       VUser::Google::ApiProtocol - Base class for implementation of the Google APIs

SYNOPSIS

       This class is not meant to be used directly. Instead use VUser::Google::ApiProtocol::V2_0.

DESCRIPTION

MEMBERS

       These are the members of the ApiProtocol class. You get and set the values by using the
       method of the same name. For example:

        # Get the domain from the ApiProtocol object
        my $domain = $google->domain;

        # Set the domain
        $google->domain('myappsdomain.com');

       Most of the member can be set when the object is created with "new()".

        my $google = VUser::ApiProtocol->new(
            domain => 'myappsdomain.com'
        );

       Note: VUser::Google::ApiProtocol is not meant to be used directly.  Please see the version
       specific subclasses, such as VUser::Google::ApiProtocol::V2_0, to create a usable object.

   Read-write Members
       admin
           The administrative user. This user must have be set as an admin in the Google Apps
           control panel. Also, be sure to log into the Google Apps control panel once with this
           user to accept all of the legal garbage or you will see intermittent auth errors.

       debug
           Turn on debugging output.

       domain
           The Google Apps domain to work on.

       password
           The plain text password of the admin user.

       refresh_token
           If set to a true value, "Login()" will refresh the authentication token even if it's
           not necessary.

   Read-only members
       authtime
           The unix timestamp of the last authentication.

       authtoken
           The authentication token retrieved from Google on a successful login.  The token is
           only valid for 24 hours.

       reply_headers
           The HTTP headers of the last reply

       reply_content
           The HTTP content of the last reply

       result
           The resulting hash from the last reply data as parsed by XML::Simple

       useragent
           The user agent VUser::Google::ApiProtocol uses when talking to Google. It is set to
           the classname/version. For example, VUser::Google::ApiProtocol::V2_0/0.25.

METHODS

   new (%defaults)
       Create a new ApiProtocol object. Any read-write member may be set in the call to "new()".

   Login
       Login to the Google API. "Login()" takes no parameters. Instead, you must set the
       "domain", "admin", and "password" members, then call "Login()".

       "Login()" will use the existing authentication token if it exists and hasn't yet timed
       out. You may force it to do a full re-authentication by setting "refresh_token" to a true
       value before calling "Login()".

   IsAuthenticated
       Returns true if the object thinks that it has already authenticated and the token hasn't
       timed out and a false value otherwise.

       Note: "IsAuthenticated()" only knows if there's an authtoken and if it's still fresh. It
       may be possible for Google to decide that a token is not valid which "IsAuthenticated()"
       cannot check.

   Request ($method, $url[, $body])
       Sends an API request to Google.

       $method is the HTTP method to use, e.g. GET, POST, etc. Note: Many of the API calls use
       different methods. Double check the API docs to make sure you are using the correct
       method.

       $url is the url to use to make the API call. The URLs are defined in the API docs.

       $body is the XML specific action. Again, see the API docs for the specific format for each
       API call. $body is not needed when the method is GET or DELETE.

   dprint ($message)
       Prints $message to STDERR if "debug" is set to a true value.

SEE ALSO

       XML::Simple

AUTHOR

       Randy Smith <perlstalker@vuser.org>

LICENSE