免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2898 | 回复: 0
打印 上一主题 下一主题

PHP取MSN联系人(使用Windows Live ID Delegated Authenticat [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-25 10:27 |只看该作者 |倒序浏览

在网上看到取MSN联系人的一些做法,个人发现大多做法并非使用官方的方式,下面我愿共享我的实现方式。
一般取MSN联系人一般有3种方式:
1种: 通过MSN协议取得联系人,这种方式在网上有很多,取得数据比较稳定,但有个缺点,使用这种方式会把正在线的MSN用户T掉。

2 种:通过模拟登录windows live ID(以前是hotmail.com邮箱),里面会有联系人列表,这种方式特点是速度快,但不稳定,需要经常维护代码以保持于服务器一致,另外所取到的联系人会MSN中的有出入,另外对于新注册的MSN用户,如果没有开通windows live 那么会无法取到联系人。

3 种:通过微软前几年发布的WEB服务获得联系人,过程是这样的,将MSN用户名和密码组装成一个XML文件然后PUT给
https://dev.login.live.com/wstlogin.srf
,然后会获得一个加密验证用的wsse:BinarySecurityToken ,最后再把这个wsse:BinarySecurityToken 在网页头部Authorization:WLID1.0 t="BinarySecurityToken " 给
https://cumulus.services.live.com/
" . $liveid . "/LiveContacts/Contacts/.这种在以前很稳定,速度也快,但微软最近应该是变更或者取消了该服务,转而使用目前流行的REST框架。

下面我用了另外一种方式也就是前面说REST方式,其实是Windows Live ID Delegated Authentication SDK 。

步骤如下:
  (1) 打开
https://msm.live.com/app/
  根据提示,注册一个windows live id以获得一个windows application id,注册进去会返回到一个Azure Services Developer Portal的页面,类似我下面的抓图:


我以前注册了两个application id (现在已经改名叫Project了),所以显示了 两个Project。对于大家应该是选择New Project /Live Services: Existing APIs 获得一个application id 。如下图:

这里说明一下,Domain要填写你要使用该服务的网站域名,Reetrun URL是当登录验证MSN帐号后将一些数据返回给你程序的URL,这个URL以后真是存在。提交成功后会获得如下信息:
Application ID:
00163FFF8000A800
Domain(s):
www.example.com

Return URL:
http://www.example.com/delauth-handler.php
Secret Key:
qo8NA7ClFNxd1cNmflmPRlQGwUlvPlR1
这些信息在下面的步骤会用到.


(2) 下载我的源码(建议你最好下载尝试官方提供的SDK,里面包含了简单例子),我已经封装好了代码,将代码放到Reetrun URL相应的目录,修改 config.xml 中值为你刚才申请所填写的密钥,Domain和Reetrun URL等。
然后index.php里输入相应的msn帐号密码 ,访问此index.php就可以取得联系人了。

使用此方式需要PHP5版本(PHP4未测),另外还需开启PHP的CURL扩展.这种方式可靠性高,速度还可以,最多执行4此CURL操作。最后希望此源码对大家有帮助.

源码下载地址:
http://power2php2.googlecode.com/files/windowsliveContacts1.0.zip


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/32889/showart_1878714.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP