forked from ollyg/EWS-Client
-
Notifications
You must be signed in to change notification settings - Fork 0
Development of EWS::Client Perl distribution
License
jaybuff/EWS-Client
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
NAME
EWS::Client - Microsoft Exchange Web Services Client
VERSION
version 1.103620
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( months => 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.
"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.
"use_negotiated_auth" => True or False value
The module will assume you wish to use HTTP Basic Access Auth, in
which case you should enable that in your Exchange server. However
for negotiated methods such as NTLM set this to a True value. For
NTLM please also install the LWP::Authen::Ntlm module.
"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.
"server_version" => String (optional)
In each request to the server is specified the API version we expect
to use. By default this is set to "Exchange2007_SP1" but you have
the opportunity to set it to "Exchange2007" if you wish using this
option.
$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.
KNOWN ISSUES
* No handling of time zone information, sorry.
* The "SOAPAction" Header might be wrong for Exchange 2010.
REQUIREMENTS
* Moose
* MooseX::Iterator
* XML::Compile::SOAP
* DateTime
* DateTime::Format::ISO8601
* HTML::Strip
* URI::Escape
* File::ShareDir
THANKS
To Greg Shaw for sending patches for NTLM Authentication support and
User Impersonation.
AUTHOR
Oliver Gorwits <[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by University of Oxford.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
About
Development of EWS::Client Perl distribution
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Perl 100.0%