Funambol Cloud API (CAPI ) Greg Gamp Sales Engineering Manager
description
Transcript of Funambol Cloud API (CAPI ) Greg Gamp Sales Engineering Manager
Funambol Cloud API (CAPI)
Greg GampSales 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
Global presence: HQ Silicon Valley, R&D Europe, worldwide customers
GSMABest Mobile
ServicePlatform
2010
InnovationWinner:Mobile
Cloud SyncNov 2009
TopMobileCloudSync2009
Best MobileCommunicati
onsSolution
2010
Funambol Cloud API (CAPI)
Web Widgets
PC Gadgets
Mobile Apps
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 TVhttps://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 JavaHttpClient 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 forumhttps://capi.forge.funambol.org