80 likes | 227 Views
Funambol Cloud API (CAPI ) Greg Gamp Sales Engineering Manager. Funambol Overview. #1 open source mobile sync server: 4M downloads, 50k developers, 200 countries Mobile cloud sync and device management for billions of mobile phones and connected devices
E N D
FunambolOverview #1 open source mobile sync server:4M downloads, 50k developers, 200 countries Mobile cloud sync and device management for billions of mobile phones and connected devices Global presence: HQ Silicon Valley, R&D Europe, worldwide customers GSMABest MobileServicePlatform2010 InnovationWinner:MobileCloud SyncNov 2009 TopMobileCloudSync2009 Best MobileCommunicationsSolution2010
Cloud API (CAPI) Web Widgets PC Gadgets Mobile Apps Funambol Cloud API (CAPI)
Cloud API (CAPI) Integrate contacts, calendars &pictures from variety of sources e.g. mobile phones, social networks, email systems, PCs/Macs into apps Examples Sync calendar (from Google, Outlook, phone) to GPS device Sync pictures (from phone) to internet-connected device (e.g. a Chumby, e-picture frame, e-book reader or TV) Sync contacts (from almost anywhere) to your car Include contacts and calendars in iGoogle widgets Build in a few hours using simple API calls from Java, AJAX, PHP
CAPI Apps Gallery Funambol contacts, calendar and pix on iGoogle Funambol pictures on Yahoo TV https://capi.forge.funambol.org/appsgallery.html
Getting Started with Funambol CAPI CAPI request format e.g. POST http://my.funambol.com/capi/<component> valid components: contact, calendar and picture Authentication Sample API calls (AJAX, Java, PHP) https://capi.forge.funambol.org/wiki/GetStarted
Sample API Calls:Retrieve Contacts via Java HttpClient client = new HttpClient(); PostMethod post = new PostMethod("http://my.funambol.com/capi/login?action=login"); GetMethod get = new GetMethod("http://my.funambol.com/capi/contact?command=getdata"); try { //login in NameValuePair[] namevalue = new NameValuePair[]{ new NameValuePair("login", "username"), new NameValuePair("password", "password”)}; post.setRequestBody(namevalue); int statusCode = client.executeMethod(post); byte[] responseBody = post.getResponseBody(); System.out.println(" login:"+new String(responseBody)); //counting the contacts on server statusCode = client.executeMethod(get); String responseBodyStr = get.getResponseBodyAsString(); JSONObject obj = JSONObject.fromObject(responseBodyStr); System.out.println("Count " + obj.getString("count")+" Contacts."); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { post.releaseConnection(); get.releaseConnection(); }
Funambol CAPI – Additional Resources CAPI documentation Discussion forum https://capi.forge.funambol.org