NAME EWS::Client - Microsoft Exchange Web Services Client VERSION This document refers to version 0.06 of EWS::Client SYNOPSIS Set up your Exchange Web Services client. *You will need HTTP Basic Access Auth enabled on the Exchange server to use this module*: use EWS::Client; use DateTime; my $ews = EWS::Client->new({ server => 'exchangeserver.example.com', username => 'oliver', password => 's3krit', # or set in $ENV{EWS_PASS} }); Then perform operations on the Exchange server: my $entries = $ews->calendar->retrieve({ start => DateTime->now(), end => DateTime->now->add( month => 1 ), }); print "I retrieved ". $entries->count ." items\n"; while ($entries->has_next) { print $entries->next->Subject, "\n"; } my $contacts = $ews->contacts->retrieve; DESCRIPTION This module acts as a client to the Microsoft Exchange Web Services API. From here you can access calendar and contact entries in a nicely abstracted fashion. Query results are generally available in an iterator and convenience methods exist to access the properties of each entry. METHODS EWS::Client->new( \%arguments ) Instantiates a new EWS client. There won't be any connection to the server until you call one of the calendar or contacts retrieval methods. You will need HTTP Basic Access Auth enabled on the Exchange server to use this module. "server" => Fully Qualified Domain Name (required) The host name of the Exchange server to which the module should connect. "username" => String (required) The account username under which the module will connect to Exchange. This value will be URI encoded by the module. "password" => String OR via $ENV{EWS_PASS} (required) The password of the account under which the module will connect to Exchange. This value will be URI encoded by the module. You can also provide the password via the "EWS_PASS" environment variable. "schema_path" => String (optional) A folder on your file system which contains the WSDL and two further Schema files (messages, and types) which describe the Exchange 2007 Web Services SOAP API. They are shipped with this module so your providing this is optional. $ews->calendar() Retrieves the EWS::Client::Calendar object which allows search and retrieval of calendar entries and their various properties. See that linked manual page for more details. $ews->contacts() Retrieves the EWS::Client::Contacts object which allows retrieval of contact entries and their telephone numbers. See that linked manual page for more details. TODO There is currently no handling of time zone information whatsoever. I'm waiting for my timezone to shift to UTC+1 in March before working on this, as I don't really want to read the Exchange API docs. Patches are welcome if you want to help out. REQUIREMENTS * Moose * MooseX::Iterator * XML::Compile::SOAP * DateTime * DateTime::Format::ISO8601 * HTML::Strip * URI::Escape * File::ShareDir AUTHOR Oliver Gorwits "" COPYRIGHT & LICENSE Copyright (c) University of Oxford 2010. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.