cocos2dx lua 接微博SDK(三)--获取用户信息,好友信息

来源:互联网 发布:有什么耐玩的游戏知乎 编辑:程序博客网 时间:2024/05/21 09:55

一、获取用户信息

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()。。。感觉这个功能废了。。

0 0
原创粉丝点击