자바 msn 친구 목록 가 져 오기

JMSN 기반 으로 MsnHelper 를 썼 습 니 다.getBuddy List (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

좋은 웹페이지 즐겨찾기