The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


VUser::Google::ProvisioningAPI - Perl module that implements the Google Apps for Your Domain Provisioning API


  use VUser::Google::ProvisioningAPI;
  my $google = new VUser::Google::ProvisioningAPI($domain,$admin,$password, $api_version);

  $google->CreateAccount($userName, $firstName, $lastName, $password);


VUser::Google::ProvisioningAPI requires the following modules to be installed:

  • LWP::UserAgent

  • HTTP::Request

  • Encode

  • XML::Simple


VUser::Google::ProvisioningAPI::* is depricated in favor of VUser::Google::ApiProtocol and VUser::Google::Provisioning.

VUser::Google::ProvisioningAPI provides a simple interface to the Google Apps for Your Domain Provisioning API. It uses the LWP::UserAgent module for the HTTP transport, and the HTTP::Request module for the HTTP request and response.


new ( $domain, $admin, $adminpassword [,$api_version] )

This is the constructor for a new VUser::Google::ProvisioningAPI object. $domain is the domain name registered with Google Apps For Your Domain, $admin is an account in the above domain that has the right to manage that domain, $adminpassword is the password for that account and $api_version is the version of the Google Provisioning API you wish to use. At this time, only '1.0' and '2.0' are supported.

Note that the constructor will NOT attempt to perform the 'ClientLogin' call to the Google Provisioning API. Authentication happens automatically when the first API call is performed. The token will be remembered for the duration of the object, and will be automatically refreshed as needed. If you want to verify that you can get a valid token before performing any operations, follow the constructor with a call to IsAuthenticated() as such:

        print "Authentication OK\n" unless not $google->IsAuthenticated();


The methods provided by the object will vary based on the version of the API. Please see the perldocs for specific version you are using. For example, perldoc VUser::Google::ProvisioningAPI::1.0.


None by default.


For support, see the Google Group at




Please report bugs or feature requests at


Johan Reinalda, johan at reinalda dot net

Randy Smith, perlstalker at vuser dot net


Copyright (C) 2006 by Johan Reinalda, johan at reinalda dot net

Copyright (C) 2007 Randy Smith, perlstalker and vuser dot org

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.

If you make useful modification, kindly consider emailing then to me for inclusion in a future version of this module.