OPhone Web API 目前被分为Auth,Location,Profile,Contact,Search,Messaging,SMS,RSS,Camera,Gallery,Setting 11大类。
1. Auth:主要提供第三方应用程序做认证的接口
2. Location:提供给第三方应用获取Ophone location信息的接口
3. Profile:提供给第三方应用获取Ophone 用户基本信息的接口
4. Contact:提供给第三方应用获取Ophone用户Contact操作相关的接口。如获取Contact信息,添加Contact信息,删除Contact信息。
5. Search:提供给第三方应用搜索Ophone 信息的接口,该接口提供对contact,message,call 等信息的搜索。
6. Messaging:提供给第三方应用向Ophone发送即时信息的接口。该信息有别与Ophone的短消息。
7. SMS:提供给第三方应用调用Ophone message接口向其它Phone 发送短消息的能力
8. RSS:提供给第三方应用获取Ophone 共享信息的接口,Ophone 用户可以将手机的图片,个人基本信息(年龄,学校,工作单位 等),个人当前位置等信息share 给用户。
9. Camera:提供给第三方应用调用Ophone camera接口拍照的能力,该接口需要Ophone用户的交互,当Ophone 允许拍照时,照片会实时传回给第三方应用程序。
10. Gallery:提供给第三方应用访问Ophone 图片的能力。
11. Setting:提供给第三方应用获取Ophone API权限设置,重置Ophone API的能力
OPhone Web API 安全控制
用户最关心的问题应该是用户信息安全了。为保证OPhone用户的信息安全,OPhone Web API做了严格的权限控制设计,我们对访问者采用了当前广为应用的Oauth认证。同时OPhone Owner可以为每一个API设定访问权限。该权限分为guest,friend,private三种,用户可以自行设定,guest权限的API表示任何用户都可以获取该API提供的信息,friend权限API表示只有获取相应授权的用户才能获取该API提供的信息,private权限的API表示只有OPhone Owner才能获取该API提供的信息。
如何使用 OPhone Web API
首先,开发者必须到OPhone Web API指定的网址注册一个开发账号,并为他的应用程序申请一个API key ,Secret key。因为第三方应用程序能够访问到的OPhone 必须是注册到相应服务器上的OPhone。所以如果OPhone Owner 希望通过第三方应用程序访问到自己的OPhone,就必须将OPhone 注册到该服务器上。
OPhone Web API 会给第三方开发者提供一个Client SDK,使开发者很方便的可以调用OPhone Web API接口。
下面我将以调用Location接口为例,讲解具体使用Client SDK 调用OPhone API的方法。
1.访问者要访问某个OPhone前必须获得该OPhone的Access token,Secret token。Access token,Secret token是Oauth中提到的一个重要概念,具体可参考资料:http://oauth.net/core/1.0
Access token 方法可调用如下方法获取:
[code="java"]# String apiKey = fa48c46b203cdd1101203ce264110006;
# String secret = 311838e72aa520af53580a5c6d65c56f;
#
# PhoneapiforWeb web = new PhoneapiforWeb(request,response,apiKey,secret);
# String callback = "";
# try {
# web.toAuth("http://apps.facebook.com/omssample/mwsapp.do?method=binding");
# } catch (IOException e1) {
# //IOException progress
# } catch (OAuthException e1) {
# //OauthException progress
# } catch (URISyntaxException e1) {
# //URISyntaxException progress
# }
# PhoneapiService service = web.getService();
# String accesstoken = service.accessor.accessToken
# String tokensecret = service.accessor.tokenSecret;
# String phoneid = (String)service.accessor.getProperty("user");
web.toAuth( String callbackurl)方法会检测当前用户有没有获取accesstoken,如果没有获取accesstoken, 页面会跳转到OPhone Web API得相应页面去登陆,从而产生accesstoken并通过callbackurl 回传给第三方应用程序。
2.应用程序获得accesstoken后便可以调用OPhone Web API 了。其调用过程如下:
1. PhoneapiService service = new PhoneapiService
2. (apiKey,secret,accesstoken ,tokensecret);
3. try {
4. service.getLocation("xml","");
5. } catch (Exception e) {
6. //error progress
7. }
8.
9. LocationResponse location = (LocationResponse)service.getResponsePOJO();
10. if (location != null&& !StringUtil.isEmpty(location.getLatitude())&& !StringUtil.isEmpty
11. (location.getLogitude())) {
12. String logitude = location.getLogitude();
13. String latitude = location.getLatitude();
14. }
获得logitude,latitude信息后,应用程序可以利用google map 的Web API展现OPhone owner的当前位置。
分享到:
相关推荐
1. **OPhone应用**:基于Java语言构建,OPhone SDK提供特有API(如主屏API、本地搜索API、邮件API)以增强平台功能。 2. **Widget应用**:采用HTML、JavaScript和CSS等Web技术开发,遵循JIL Widget标准,可在Widget...
- **第22章 OPhone的API扩展**:探讨OPhone提供的额外API和服务。 - **第23章 JILWidget开发详解**:介绍如何使用JILWidget SDK开发基于Web技术的应用程序。 5. **综合实例篇**:通过实际项目加深理解。 - **第...
对于开发者来说,了解Android OPhone开发意味着你需要掌握Android的基础知识,同时熟悉中国移动的特定API和功能。 在Android OPhone开发中,网络应用是一个重要的组成部分。通过网络,应用程序可以获取远程数据、...
它具有独特的用户界面,提升了浏览器性能和WAP兼容性,并优化了多媒体处理(OpenCORE)和Web浏览(WebKit)等功能。此外,OPhone还支持高级平台中间件,如游戏、Widget和Java ME。 **OPhone平台架构** OPhone平台...
【标题】"Web服务运行库",通常指的是用于在Android或OPhone平台上支持Web服务(Web Service)的技术框架。Web服务是一种基于网络的、松散耦合的软件组件交互方式,允许不同系统间的应用程序共享数据和功能。在...
这些服务通常需要中间平台的支持,比如PC、OPhone(即智能手机)、Android等,以确保系统能够高效稳定运行。 知识点五:实现的关键技术 在探讨系统实现的关键技术时,文章涉及到了API、XML、jar、apk、exe等技术...
OPhone SDK提供了一系列工具和API来处理JSON数据。对于客户端与服务器之间的数据交换,使用JSON可以极大地提高效率和减少数据传输量。下面是一个具体的示例,展示如何使用OPhone SDK在客户端和服务器端处理JSON数据...
继2008年9月第一款基于Android平台的手机G1发布之后,预计三星、摩托罗拉、索爱、LG、华为等公司都将推出自Gflg~Android平台的手机,中国移动也将联合各手机厂商共同推出基于Android平台的OPhone。按目前的发展态势...
对于OPhone和部分国产Android定制机,由于默认不支持基站和WIFI定位,这为依赖定位功能的应用带来了困扰。然而,开发者可以通过理解基站和WIFI定位的基本原理并自行实现这一功能。 基站定位主要基于两种方法: 1. *...