Date post: | 26-Jan-2015 |
Category: |
Technology |
Upload: | apimeetup |
View: | 1,141 times |
Download: | 2 times |
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
Global presence: HQ Silicon Valley, R&D Europe, worldwide customers
GSMA Best Mobile
Service Platform 2010
Innovation Winner: Mobile
Cloud Sync Nov 2009
Top Mobile Cloud Sync 2009
Best Mobile Communications
Solution 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 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