java获取msn好友列表(转)
来源:互联网 发布:ubuntu rime 编辑:程序博客网 时间:2024/05/21 06:51
基于 JMSN 写了一个 MsnHelper 。借助getBuddyList(String userName,String password) 方法即可轻松查询所有好友列表。
JMSN 下载地址:http://sourceforge.net/project/showfiles.php?group_id=47932。使用其中的 msnm.jar 文件即可。
另谁有 GTalk , Yahoo 等其他聊天工具的 Helper ,希望能分享一下 ,谢谢!
package com.pqcc.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import rath.msnm.BuddyGroup;
import rath.msnm.BuddyList;
import rath.msnm.GroupList;
import rath.msnm.MSNMessenger;
/**
*
* @author pqcc
*
*/
public class MsnHelper {
/**
* getGroups(String userName,String password) 查询所有的 msn 分组。
* getBuddyList(String userName,String password) 查询所有好友.(其他查询在线好友也雷同).
* @param args
*/
private static Logger log = Logger.getLogger(MsnHelper.class.getName());
private MSNMessenger msn = null;
public static void main(String[] args)
{
MsnHelper ms = new MsnHelper();
String msnAddress = JOptionPane.showInputDialog(”请输入你的MSN”);
String password = JOptionPane.showInputDialog(”请输入你的密码”);
List<String> buddyList = ms.getBuddyList(msnAddress,password);
if(buddyList != null)
{
for(String name:buddyList)
{
log.info(”Buddy :”+name);
}
}
}
public void setMsnMessager(String userName,String password)
{
this.msn = new MSNMessenger(userName,password);
}
public MSNMessenger getMsnMessager()
{
return msn;
}
/**
* Login ur msn base on username and password.
* @param userName
* @param password
*/
public void login(String userName,String password)
{
if(msn == null)
setMsnMessager(userName,password);
msn.login();
}
/**
* Get all of ur msn group by username and password. (推荐)
* @param userName
* @param password
* @return all ur msn group .
*/
public List<String> getGroups(String userName,String password)
{
if(msn == null)
setMsnMessager(userName,password);
if(!msn.isLoggedIn())
{
login(userName,password);
}
return getGroups(msn);
}
/**
* Get all of ur buddy by username and password. (推荐)
* @param userName
* @param password
* @return All the buddy
*/
public List<String> getBuddyList(String userName,String password)
{
if(msn == null)
setMsnMessager(userName,password);
if(!msn.isLoggedIn())
{
login(userName,password);
}
return getBuddyList(msn);
}
/**
* Get all of ur buddy group by MSNMessage.(不推荐)
* @param msn
* @return
*/
public List<String> getGroups(MSNMessenger msn)
{
if(msn == null)
return null;
if(!msn.isLoggedIn())
{
log.warn(”Please set the MSNMessge”);
msn.login();
}
BuddyGroup buddyGroup = msn.getBuddyGroup();
GroupList groupList = buddyGroup.getGroupList();
Iterator groupIterm = groupList.iterator();
List list = null;
while(groupIterm.hasNext())
{
list = (list == null)?new ArrayList():list;
list.add(groupIterm.next().toString());
}
return list;
}
/**
* Get all of ur buddy by MSNMessage.(不推荐,)
* @param msn
* @return
*/
public List<String> getBuddyList(MSNMessenger msn)
{
if(msn == null)
{
log.warn(”Please set the MSNMessge”);
return null;
}
if(!msn.isLoggedIn())
{
msn.login();
}
BuddyGroup buddyGroup = msn.getBuddyGroup();
BuddyList buddyList = buddyGroup.getForwardList();
List list = null;
// check.
if(buddyList == null || buddyList.size()<1)
return null;
for(int i=0;i<buddyList.size();i++)
{
list = (list == null)?new ArrayList():list;
String fname = buddyList.get(i).getLoginName();
list.add(fname);
}
return list;
}
}
运行结果:
Buddy :***@hotmail.com
Buddy :***@hotmail.com
Buddy :***@hotmail.com
Buddy :***@hotmail.com
Buddy :***@msn.com
- java获取msn好友列表(转)
- 新版php获取MSN好友列表,邀请MSN好友
- 如何获取msn的好友列表
- 转载_php获取msn好友列表
- PHP获取MSN好友列表类
- PHP获取MSN好友列表类
- 转载_php获取msn好友列表二
- java 获取 MSN用户列表
- PHP 获取MSN好友列表 组信息 发送离线消息 (一)
- PHP 获取MSN好友列表 组信息 发送离线消息 (二)
- PHP 获取MSN好友列表 组信息 发送离线消息 (三)
- 读取邮箱通讯录、MSN好友列表
- facebook 获取好友列表
- 获取好友列表(花名册)
- 获取QQ好友列表
- 使用JAVA导入某个MSN帐号的好友列表并发送消息
- asp.net获取MSN、邮箱好友信息
- 获取QQ好友共同好友列表信息
- 静态与非静态对程序效率的影响
- 泛型算法系列15:transform()
- pku1979
- PDF----path(路径)处理
- 在VS2005开发环境下,实现CString转int
- java获取msn好友列表(转)
- VC小技巧
- 18句话入门SQLServer XML查询
- Oracel执行计划优化的一次案例分析
- Red Hat Enterprise5 安装 cacti-0.8.7e/插件/模板的详细安装过程
- [读书]Oracle10g数据库管理艺术
- 【转】Eclipse+CDT+MinGW 安裝手冊
- java中InvocationHandler 用于实现代理
- 18句话入门SQLServer XML查询