知识大全 SNS网站中怎样获取MSN联系人信息
Posted 知
篇首语:人生难得几回搏,此时不搏待何时。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SNS网站中怎样获取MSN联系人信息相关的知识,希望对你有一定的参考价值。
SNS网站中怎样获取MSN联系人信息 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
几乎所有的SNS网站都有[邀请站外好友]加入本站这个功能 当然 我们正在开发的这个名为XXX的网站也不例外 今天学习了一下 把成果向大家做一简单汇报
这个功能的关键点在于取得用户的已有联系人列表 并发送邀请函(一般都是电子邮件的形式) 在这篇文章里 只涉及怎么样取得MSN中联系人信息 如果大家有兴趣 我会把怎么样取得Gmail Yahoo等的联系人信息代码也都帖上来
首先我想到的是参照已有网站的实现方式 如果开心网 校内网 FaceBook等
开心网 校内网
开心网和校内网的实现方式大致相同 都是输入用户名和密码 程序按照一定的数据格式POST到LIVE网站 获取Ticket 然后取得联系人的信息 以下是屏幕截图
以上两个网站的共同点是都要求用户输入MSN的用户名和密码 这样有可能造成MSN帐户信息泄漏 虽然都说 不会记录或存储你的密码 但谁敢保证呢 即使真的不会存储 但用户会有一种抵触心理
FaceBook的实现与以上两个网站截然不同 它不要求用户输入密码信息 这样用户就会觉得爽多了 请看下图 密码框并不要求用户填写(Enable=false)
用户点击[Find Friends]后 会转向Live网站 这样用户就可以放心大胆的输入密码了
点击[Sign In]后 会自动跳转到FaceBook网站 显示用户联系人信息 如下图所示
综合考虑 决定采用facebook的实现方式 MSDN上查找了一下 原来Microsoft发布了Window Live的一系列API 其中有一块是Contacts API 好了 那就开始写代码吧(paipaidi)?
第一步
申请一个微软云计算的一个Project 访问
ioning/Default aspx 申请一个类型为Live Services的Project
Application ID: C Domain(s): Return URL: Secret Key: nazgnMZRWbbgaleiDpvUhG FKBb L v
第二步
下载 Windows Live ID Delegated Authentication SDK DEMO 网址为 x?FamilyId=A ABF D B D FAF FE &displaylang=en
其中有C# Java Perl PHP Python Ruby VB等多种版本任你选择
第三步
安装下载的文件到指定目录内 默认为C:\\Program Files\\Windows Live ID\\DelAuth
第四步
在IIS中新建一个虚拟目录 名称为DelAuth
第五步
修改hosts文件 你可以修改一下C:\\WINDOWS\\system \\drivers\\etc中的hosts文件 把 映射到一个您刚才申请Project时填写的域名
第六步
修改Sample 中的Web Config文件 如下 用申请来的ApplicationID和Secret Key替换文件中相应的值 并根据你的主机及虚拟目录名称 把ReturnUrl改为 handler aspx Policyurl的值改为 原始的web Config文件如下
第七步
把Sample 中的Default aspx设置为首页 按如下界面中的URL打开网址
其中Click Here中的URL是动态构造的 如果有兴趣 相应的构造代码大家可以研究一下
点击Click Here就转向Live网站进行登录 登录后自动返回到Web Config中配置的returnUrl网址 用户登录后 我们可以通过代码取得
WindowsLiveLogin ConsentToken的值 具体代码如下
WindowsLiveLogin wll = new WindowsLiveLogin(true);
WindowsLiveLogin ConsentToken token = wll ProcessConsent(req Form);
第八步
取得MSN中的联系人信息
微软提供了允许我们通过REST方式访问contracts服务 需要具备以下两个参数
The Delegated Authentication token (DAT) 即WindowsLiveLogin ConsentToken
The Location ID (lid) 可以通过WindowsLiveLogin ConsentToken获得
显然 我们前七步做的工作主要是获得以上的两个参数的值 用户登录后
在returnUrl页面中 我们可以写如下代码
public string GetContacts(WindowsLiveLogin ConsentToken ct)
string lid = ct LocationID;
string delegatedToken = ct DelegationToken;
// Construct the request URI
string uri = @L@ + lid + /rest/LiveContacts/Contacts/ ;
HttpWebRequest request = (HttpWebRequest)WebRequest Create(uri);
request UserAgent = Windows Live Data Interactive SDK ;
request ContentType = application/xml; charset=utf ;
request Method = GET ;
// Add the delegation token to a request header
request Headers Add( Authorization DelegatedToken dt=\\ + delegatedToken + \\ );
//Issue the HTTP GET request to Windows Live Contacts
HttpWebResponse response = (HttpWebResponse)request GetResponse();
//The response body is an XML stream Read the stream into an XmlDocument
XmlDocument contacts = new XmlDocument();
contacts LoadXml(new StreamReader(response GetResponseStream()) ReadToEnd());
//Use the document For example display contacts InnerXml
return contacts InnerXml;
//Close the response
//response Close();
cha138/Article/program/net/201311/11677
相关参考
怎么才能做好网上商城?使用什么样的推广方式最好?,怎么做好网上商城?1、SNS网站软文推广法:现在SNS类型的网站非常流行,去SNS网站主要是去几个有人气的SNS网站有针对性的加几百上千个用户。然后选
通常网站需要统计客户浏览的习惯有针对性的对网站做出部分改善贴几句常用代码 protectedvoidPage_Load(objectsenderEventArgse) ResponseWr
Delphi中用API实现在MSN的信息提示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我是
在做网站开发的时候常常需要获取服务器的一些基本信息怎么获取呢请参阅下面的简单介绍 复制代码代码如下:cha138/Article/program/net/201311/14250
电商学生开店怎样推广SNS、微博社会化营销;联盟CPS、CPA推广;搜寻引擎SEO、SEM;EDM、手机简讯推送;团购;纸质DM及线下推广;软文及精准广告投放;网站活动及相关运营;公益相关和媒体炒作。
在各个网站上发布的信息怎样才能显示在百度首页hujun002010被举报了,就悲剧了。给百度钱,一定能的。怎么才能叫百度更多的抓取你在其它网站上发布的信息显示在百度的首页上?首先是标题比如说你想让别人
怎样用Java实现MSNMessager的功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 现
>官方网站*有哪些网上正规一般正规的网站是有备案信息的,而且有详细的联系电话及地址,公司的信息也会很详细,还有域名等等正规信用卡官方网站还是到网点办理吧,网上的真假难辨。招行信用卡很好搞定的,几
在进行多线程编程中比较重要也是比较困难的一个操作就是如何获取线程中的信息大多数人会采取比较常见的一种方法就是将线程中要返回的结果存储在一个字段中然后再提供一个获取方
在现代社会中,信息技术广泛应用于工作生活的各个方面。下列信息技术的应用中,主要属于信息获取的是
在现代社会中,信息技术广泛应用于工作生活的各个方面。下列信息技术的应用中,主要属于信息获取的是_____。A、用播放软件欣赏音乐B、通过网络视频聊天C、发送电子邮件D、用扫描仪扫描文件答案:D解析:A