/findmyiphone

Find your iPhone by scraping the MobileMe site and turning it into a simple REST API

Primary LanguageJava

   Copyright 2009, Sam Pullara

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License

Find My iPhone uses your MobileMe username and password to scrape the Apple MobileMe website in
order to retrieve the location of all your devices (right now they only support iPhone) and return
them to you in JSON format.  This is not a supported API by Apple and could change at any time.

In order to start the software you need Maven 2 installed. Then you can execute:

mvn tomcat:run

This will start a local web server.  Then you can go to the URL:

http://localhost:8080/findmyiphone/

A form will be displayed asking for your username and password.  Submitting them will
execute the API just as if you called it from a programmatic client with the form:

http://localhost:8080/findmyiphone/find?username=...&password=...

This will return a result in JSON format that looks like:

{
   "..deviceid..":
   {"isLocationAvailable":true,"longitude":-122,"accuracy":84.268457,"time":"12:10 PM","isOldLocationResult":true,
   "isRecent":true,"statusString":"locate status available","status":1,"isLocateFinished":false,
   "latitude":37,"date":"July 3, 2009","isAccurate":false},
   ".. another device id..":
   {"noLocation":true,"statusString":"locate status available","status":1}
}

You may need to execute the API several times over a few minutes until it finishes locating the device.

Sam