`

使用RESTful方式读取msn联系人数据

阅读更多

1. 首先到windowlive网站注册一个liveServices应用https://live.azure.com/Cloud/Provisioning/Services.aspx?ProjectId=0

 

申请结果如下:

 

 

注意: Domains      域名必须是 外部可以访问到的。

          Retrun RUL  返回的处理页面,必须是在注册的域名里面的页面。

 

 

2. 下载Windows Live ID Delegated Authentication SDK 1.2

http://www.microsoft.com/downloads/details.aspx?FamilyId=A2466ABF-9629-42D8-B991-1D3FAF2FE872&displaylang=en

我是用java 开发的,当然选择 delauth-java-1.2.zip 咯。

 

 

3. 将delauth-java-1.2.zip部署到web项目中。

 

按windowlive中说明的方法,是要用到 j2ee sdk,

 

安装j2ee sdk.  我的用 j2ee sdk 6,太大了就不上传了。 (不安装也行, 我已经把生成的项目文件部署到eclipse的web项目中。下面会上传整个项目的。)

下载地址:http://java.sun.com/javaee/downloads/index.jsp

装好后,将 delauth-java-1.2.zip 解压, 把其中的 BuildAndDeploy-DelAuth.cmd 文件中的 SUNSDK 和 SUNJDK 修改为你自己机器上的路径。

 然后双击运行,BuildAndDeploy-DelAuth.cmd 。

运行后,项目完整的文件就有了。 因为最近重装了系统,生成后的项目路径,我不记得了,呵呵。

打开 j2ee 服务后,在管理页面中可以找到路径。

 

 

运行后的文件,我部署到Eclipse中的web project。

 

很简单,建立一个web project。 然后按下面的结构放置文件。其中XmlContact.java是自己写的,用来解析返回的xml.

注意:该项目必须要 可以使用 window live 注册的 Domains域名 (dev.myetrip.cn/....)可以访问到。

 

项目从这里下载   下面的项目,已经修改了一些内容。主要增加了XmlContact.java用来解析回传的xml,修改了sample1/index.jsp , 修改了restful 访问地址:

<p>
 <a href="https://livecontacts.services.live.com/users/@L@<%=token.getLocationID() %>/rest/livecontacts/contacts">livecontacts</a>
 </p>

 

增加了 xml 解析

XmlContact xmlContact = new XmlContact();
 List<String> list = xmlContact.getContactsByXml(in);
 for(int i=0; i<list.size(); i++) {
  out.write(list.get(i) + "<br/>");
 }
 in.close();
 get.releaseConnection();

 

 

访问地址用法,可以参考windows live c# 版的 完成例子:https://dev.live.com/livedata/sdk/Default.aspx

 

 运行后, 访问 (Domains)/MsnContact/sample1/index.jsp 

要运行该项目,需要  jdk6  ,tomcat 也需要配置 jdk6,  不然会报错。

点击 “click here" 会提示,要你登陆 msn , 如果登陆过就不提示了。

登陆后会问 是否允许访问:

 

 

选择允许, 页面将跳转会来:

 

 

另外需要注意,很重要:

访问 restful 地址时,需要取得 在访问头中放入 token , 我不知道怎么页面链接中加入,所以使用了 HttpClinet

<%
	HttpClient client = new HttpClient();
	GetMethod get = new GetMethod("https://livecontacts.services.live.com/users/@L@" + token.getLocationID() + "/rest/LiveContacts");
	get.setRequestHeader("UserAgent", "Windows Live Data Interactive SDK");
	get.setRequestHeader("ContentType", "application/xml; charset=utf-8");
	get.setRequestHeader("Authorization", "DelegatedToken dt=\"" + token.getDelegationToken() + "\"");
	client.executeMethod(get);
	String line;
	InputStream in = get.getResponseBodyAsStream();
	//BufferedReader br = new BufferedReader(new InputStreamReader(in ,"utf-8" ));
	//while((line = br.readLine())!= null){
	//	out.write(line);
	//	System.out.println(line);
	//}
	//br.close();
	XmlContact xmlContact = new XmlContact();
	List<String> list = xmlContact.getContactsByXml(in);
	for(int i=0; i<list.size(); i++) {
		out.write(list.get(i) + "<br/>");
	}
	in.close();
	get.releaseConnection();

%>

 

 

  • 大小: 89.3 KB
  • 大小: 83.4 KB
  • 大小: 105.4 KB
  • 大小: 88.7 KB
  • 大小: 24.7 KB
  • 大小: 110.3 KB
  • 大小: 137.5 KB
  • 大小: 294.2 KB
2
0
分享到:
评论

相关推荐

    浅谈java调用Restful API接口的方式

    本文将详细介绍Java调用Restful API接口的方式,包括使用HttpURLConnection、HttpClient和Spring的RestTemplate等方式,并对每种方式进行详细的分析和比较。 首先,介绍了使用HttpURLConnection实现Restful接口的...

    delphi7使用IXMLHTTPRequest实现RESTful的访问及返回json数据的解析

    本主题聚焦于如何在Delphi 7中使用IXMLHTTPRequest组件来实现RESTful API的访问,并解析返回的JSON数据。同时,还涉及到HMACSHA1加密算法在消息段推送中的应用。 首先,IXMLHTTPRequest是微软提供的一个接口,它...

    SpringMVC 使用 RESTful 架构实现 CRUD 操作

    在本教程中,我们将探讨如何使用 SpringMVC 实现基于 RESTful 风格的 CRUD(Create、Read、Update、Delete)操作。 **CRUD 操作概述** CRUD 操作是任何数据驱动应用的基础,它们分别代表创建新记录、读取现有记录、...

    C#服务端RestFul Service-经验案例.doc

    该经验案例主要讲解了如何使用RestFul数据访问方式将装备软件与MES系统集成,并实现系统集成和联合。 RESTful简介 REST(Representational State Transfer)是一种描述互联系统架构风格的名词,简单地来说REST是一...

    ios-HJNetwork网络请求 支持RESTful方式请求和数据缓存.zip

    本来是想在GitHub找一个符合自己App的网络请求库,结果就是要么不支持缓存或者不支持RESTful API 请求, 又或者带缓存的又不支持过滤某一些参数字段(否则无法得到缓存),带着这样的需求之下就有了 “HJNetwork” 这...

    restful接口文档模板

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,可以使用XML或者JSON格式传输数据,一般用于客户端与服务器交互的数据接口。RESTful API设计遵循了REST的原则,...

    使用spring构建RESTful的Web服务

    ### 使用Spring构建RESTful的Web服务 #### REST原则与特性 - **统一接口**:REST(Representational State Transfer)架构风格的核心原则之一是其统一接口,即一组定义明确的操作方式,使得客户端能够与服务器交互...

    C# 一个简单的 Restful 服务端和 Restful 客户端 Demo

    本示例是关于如何使用C#语言创建一个简单的RESTful服务端以及对应的RESTful客户端。以下是相关知识点的详细说明: 1. **RESTful原则**:REST(Representational State Transfer)的核心思想是资源(Resource)和...

    restful 接口开发规范(RESTfulAPIdesignguide)

    RESTful接口通常使用URI(统一资源标识符)来表示Web上的实体,通过CRUD(创建Create、读取Read、更新***e、删除Delete)HTTP方法来进行资源上的操作。每个RESTful URI代表一个Web实体,并且每个URI中不应该包含动词...

    使用Spring构建Restful的Web服务.pdf

    综上所述,使用Spring构建RESTful Web服务涉及到多个方面,包括架构设计、数据模型定义、依赖管理、请求处理、数据表示和性能优化等。掌握这些概念和技术,能够帮助开发者高效地开发出高质量的RESTful服务。

    AngularJS+SpringMVC使用RESTful的API

    前端使用Ionic+ AngularJS、后端使用SpringMVC,教你如何开发RESTful风格的接口。

    计算机-restful-基于Restful服务的专利数据分析及可视化系统.pdf

    该系统的核心是基于Apache Wink框架和Restful服务理论的,使用了Restful API来实现数据访问和交互。系统还提供了一个统一的界面,用于集成不同的链分析算法和可视化工具,满足用户个性化的需求。用户可以根据需要...

    SOAP webserivce 和 RESTful webservice 对比及区别

    SOAP Web服务和RESTful Web服务是两种常见的Web服务交互方式,它们在设计理念、协议复杂度、数据格式和操作方式等方面存在显著的区别。 首先,SOAP(简单对象访问协议)是一种基于XML的协议,它允许不同系统之间的...

    Restful C# 服务端篇之实现RestFul Service开发(简单实用)

    通过以上步骤,你可以创建一个简单的C# RESTful服务,提供创建、读取、更新和删除操作。随着需求的增加,可以进一步扩展服务,例如支持过滤、排序、分页等功能,以及错误处理和异常拦截。 总之,C#结合ASP.NET Core...

    RESTful PHP Web Services

    5. **使用合适的数据格式**:RESTful Web Services 通常使用 JSON 或 XML 来交换数据。JSON 因其简洁和易于解析而更受欢迎。 6. **实现安全性**:确保 RESTful Web Services 的安全性是非常重要的。可以采用诸如 ...

    谷歌浏览器restful请求插件

    RESTful API设计简洁、直观,易于理解和使用,是现代Web服务的主流实现方式。 **前端与后端交互** 在Web应用中,前端负责用户界面的展示和交互,而后端则处理业务逻辑和数据存储。RESTful请求插件扮演着两者之间的...

    HttpClient访问后台服务的Restful(各种方式访问)

    使用HttpClient4.3版本,使用Springmvc的restful方式访问后台的服务

    使用CXF开发RESTFul服务

    【标题】"使用CXF开发RESTFul服务"涉及到的核心技术是Apache CXF框架和RESTful API设计。Apache CXF是一个开源的Java框架,主要用于构建和消费Web服务,包括SOAP和RESTful服务。REST(Representational State ...

Global site tag (gtag.js) - Google Analytics