Michael Greb > WebService-MobileMe-0.002 > WebService::MobileMe

Download:
WebService-MobileMe-0.002.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.002   Source  

NAME ^

WebService::MobileMe - access MobileMe iPhone stuffs from Perl

VERSION ^

version 0.002

SYNOPSIS ^

    use WebService::MobileMe;

    my $mme = WebService::MobileMe->new(
        username => 'yaakov', password => 'HUGELOVE' );
    my $location = $mme->locate;
    print <<"EOT";
        As of $location->{date}, $location->{time}, Yaakov was at
        $location->{latitude}, $location->{longitude} (plus or minus
        $location->{accuracy} meters).
    EOT
    $mme->sendMessage( message => 'Hi Yaakov!', alarm => 1 );

DESCRIPTION ^

This module is alpha software released under the release early, release sort of often principle. It works for me but contains no error checking yet, soon to come!

This module supports retrieving a latitude/longitude, and sending a message to an iPhone via the 'Find My iPhone' service from Apple's MobileMe, emulating the AJAX browser client.

METHODS ^

new

    my $mme = new WebService::MobileMe->new(
        username => '', password => '');

Returns a new WebService::MobileMe object. Currently the only arguments are username and password, coresponding to your MobileMe login.

The constructor logs in to Mobile Me and retrieves the first device on the account, storing it for use in the other methods. If something fails, it will return undef.

locate

    my $location = $mme->locate();

Takes no arguments, returns a referrence to a hash of the information returned by Apple.

This is currently:

    $location = {
        'isAccurate' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
        'longitude' => '-74.51767',
        'isRecent' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        'date' => 'July 24, 2009',
        'status' => 1,
        'time' => '10:39 AM',
        'isLocationAvailable' => $VAR1->{'isRecent'},
        'statusString' => 'locate status available',
        'isLocateFinished' => $VAR1->{'isAccurate'},
        'isOldLocationResult' => $VAR1->{'isRecent'},
        'latitude' => '39.437691',
        'accuracy' => '323.239746'
    };

sendMessage

    my $r = $mme->sendMessage( message => 'Hello, World!', alarm => 1);

Takes one required and three optional arguments. Returns a structure containg the parsed JSON returned by apple

The returned structure currently looks like:

    $r = {
        'unacknowledgedMessagePending' => 
            bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
        'date' => 'July 24, 2009',
        'status' => 1,
        'time' => '11:11 AM',
        'statusString' => 'message sent'
    };