快速导入MSN连络人群组到Skype

大家都已经知道MSN(Live Messenger)将在今年3月退休的事(最近又听说台湾地区下线时间会延到3/15之后),Skype虽然能把MSN连络人整合进来,但是为连络人设好的类别通通不见,造成很大困扰!!以我自己为例,MSN有近300个连络人,原本分成多组,例如:专科同学、二技同学、前公司同事、A部门同事、B部门同事、厂商、MVP…等等。要找寻特定连络人,只需展开特定类别,每个分类最多十来个连络人,很快就能找到。

这下子可好,Skype转了MSN连络人却不把类别顺便转进来,想跟不常往来的MSN连络人交谈,记不得对方MSN名称无法关键字检索,而连络人海茫茫,只能一边滚轮子转卷轴,一边眯着眼看名单如走马灯流过,老人家眼花常看漏,三不五时气到想捏碎滑鼠。而前些时候,看到”先将MSN撷取画面以便日后对照分类”的建议,更是让拎杯气到想使出万佛朝宗~~

身为程式魔人,该自力救济的时间又到了!!做了简单研究,发现要在Skype里设定连络人群组不难,用Skype4COM就可轻松搞定,有挑战性的部分是如何取得MSN设定的连络人类别,之前玩过Live SDK,但细究后发现Live SDK没有任何API可以取得连络人类别资讯。退而求其次,我想到Windows Live Hotmail的连络人网页可使用类别筛选连络人,是印象中MSN以外另一个有连络人类别资料的地方,理论上找到其底层资料来源,就能抓出连络人类别设定。 
(题外话:最近听说Skype整合MSN时发生连络人资料完全消失的杯具,提醒大家善用Live网站的连络人汇出功能,把自己的连络人清单备份到本机另存CSV档,以求安心 )

经过一番Hacking,成功地从Live连络人网页JavaScript Object偷到连络人分类资料! 至此,余下的工作便是如何把两段Hacking整合在一起,包成工具程式让程序一气喝成!

使用以下的小工具–MSN Category Tool for Skype  (最新1.2版本下载地址:地址一   地址二)。

【准备工作】

  1. 确认Windows已安装.NET Framework 4.0,一个简单检查方法是看系统碟有没有以下目录: C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Web.Extensions.dll,若没有目录,表示没装.NET 4,若有目录但没有System.Web.Extensions.dll,表示你可能只装了.NET Framework 4.0 Client Profile (精简版),请安装完整版(下载地址:Microsoft .NET Framework 4(独立安装程序))。
  2. 请先确认Skype已启动,并使用Microsoft帐号完成登入
  3. 已完成Skype与MSN帐号合并,连络人清单已可看到MSN连络人

【操作步骤】

  1. 执行程式后,按下【登入Live网站】,最下方有个内嵌浏览器会导向Windows Live Hotmail网站 
  2. 请登入Hotmail网站
  3. 一旦下方进入连络人页面,稍等一下,程式会开始撷取连络人类别资料 
  4. 程式会将抓到的连络人资讯显示在中间的表格
  5. 此时按下【设定Skype连络人类别】,程式会试着连上Skype开始设定连络人类别
  6. 当Skype程式侦测到工具程式要连线会出现如下确认画面,需按下【允许存取】才能成功设定类别。 

设定完成后,即可看到Skype类别出现一堆以”MSN-“为首的新群组,成员即为原MSN类别下的连络人,代表汇入完成。

【注意事项】

2013-02-25更新 ]推出1.1版,加入很阳春的CSV汇入汇出功能,提供简单的名单编辑功能。(参考: nohick的留言 )

2013-02-26更新 ]有网友回报,抓不到连络人资料可能与Live Hotmail设成英文介面有关,抓不到连络人时可试着将Hotmail网页语系调成中文再试。

2013-02-27更新 ]开放1.2版测试,改良如下

  1. 解决Skype现存同样显示名称群组时出现”Error: 已经加入含有相同索引键的项目”问题
  2. 允许重复执行汇入动作。当程式侦测到Skype中已存在”MSN-*”命名群组,将弹出确认对话框确认是否删除,若使用者无意保留原有MSN-*群组(注意: 若某些MSN-*群组曾经事后调整,手动设定资料将遗失),请按【是】,工具便会删除现有MSN-*群组再重建群组汇入成员,以避免资料重复。
  3.  汇入/汇出CSV 按钮中文化

另外,再发现Skype WTF行为一椿。设完类别后,改以Skype帐号(非MSN帐号)登入Skype,MSN-*群组仍在,但其中无任何成员(因Skype帐号登入时,非属帐号合并模式,不认识MSN连络人合理)。重新以MSN帐号登入Skype后,发现内建的Messenger群组继续空无一人,Skype仿佛不认得任何MSN连络人,大惊失色,以为发生传说中的MSN连络人清单完全消失悲剧! 所幸透过Live网站确认连络人资料仍在,重启Skype以MSN帐号登入,Messenger群组恢复,但MSN-*群组则空无一人,必须重新设定,幸好新版工具已支援重复汇入,重新汇入后瞬间还原。

此条目发表在Windows分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注