一、获取用户信息
1,在APPActivity里加上
//获取用户信息
public static void getUserData(){mAccessToken = AccessTokenKeeper.readAccessToken(app);
mUsersAPI = new UsersAPI(app, Constants.APP_KEY, mAccessToken);
long uid = Long.parseLong(mAccessToken.getUid());
mUsersAPI.show(uid, mListener);
}
private static RequestListener mListener = new RequestListener() {
@Override
public void onComplete(String response) {
if (!TextUtils.isEmpty(response)) {
//Log.d("test", "response = " + response );
//LogUtil.i(TAG, response);
// 调用 User#parse 将JSON串解析成User对象
User user = User.parse(response);
if (user != null) {
//Toast.makeText(app,
// "获取User信息成功,用户昵称:" + user.screen_name,
// Toast.LENGTH_LONG).show();
name = user.screen_name; //用户名
imageUrl = user.profile_image_url; //微博头像网址
userID = user.id; //还要很多打点可看
isGetData = true;
//saveUrlAs(user.profile_image_url,user.screen_name);
} else {
Toast.makeText(app, response, Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onWeiboException(WeiboException e) {
//LogUtil.e(TAG, e.getMessage());
ErrorInfo info = ErrorInfo.parse(e.getMessage());
Toast.makeText(app, info.toString(), Toast.LENGTH_LONG).show();
}
};
通过调用getUserData()函数即可解析出需要的用户信息,然后再传给cocos2dx。
二、获取好友信息(PS:至今未明白什么是微博好友,只知道粉丝,关注人,互粉的。。。)
PS:貌似未上线要到新浪添加测试账号 才可获取到好友信息
1,在APPActivity里加上
//好友列表
static RequestListener friendListener = new RequestListener(){
@SuppressWarnings("unused")
@Override
public void onComplete(String response) {
// TODO Auto-generated method stub
if (!TextUtils.isEmpty(response)) {
Log.d("test", "response = " + response );
friendData = response;
}
}
@Override
public void onWeiboException(WeiboException arg0) {
// TODO Auto-generated method stub
Log.d("test", "response = CXXXXXXXXXXXXXXXXXXXXXXXXXX" );
}
};
public static void getFriendData(final int num,final int page){
if (isEnter == true )
{
friendData = null;
friendShipsAPI = new FriendshipsAPI(app, Constants.APP_KEY, mAccessToken);
long uid = Long.parseLong(mAccessToken.getUid());
//这里是获取关注人的列表,按页获取(page)
//uid是用户的微博唯一标示符(在用户信息里获取)
//num是每页的数量
//当前页码
//true(好友的某信息(我觉得没用)是否获取)
//监听
//friends 是关注人的,可换成其他的??,都差不多
friendShipsAPI.friends(uid,num, page, true, friendListener);
}
}
获取到的好友数据再friendData 里,是string,其实是JSON格式。
PS:新浪只能获取都30%的好友的信息,我能说XXXXX()。。。感觉这个功能废了。。