通过ID QuickBlox查询用户

时间:2015-11-19 13:53:55

标签: quickblox

我正在使用QuickBlox SDK构建应用。我存储了用户的ID,需要使用该ID来检索用户对象。基本上我需要按ID查询用户并检索用户对象这怎么可能?

我尝试使用userWithID方法,但似乎已弃用。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用 QB.users.listUsers 从userid检索用户对象。我在这里附上了源代码。这对我有用

var userId = 18767586;
var params = {
   filter: { field: 'id', param: 'in', value: [userId] },
   order: { sort: 'desc', field: 'id' }
   };

   QB.users.listUsers(params, function(err, result){
    if (err) {
        console.log("errMsg ==> ", err);
    } else {
        _.each(result.items, function(item) {
            console.log("User Object ", item.user);
            console.log(item.user.full_name);
            // here you can get the user
        });
    }
   });

此解决方案来自http://qaoverflow.com/question/quickblox-filtering-custom-objects-with-javascript/

答案 1 :(得分:0)

根据QuickBlox官方文档,您发现的方法已被弃用,但您可以使用以下方法通过用户ID获取用户

official doc of QuickBlox for android

QBPagedRequestBuilder pagedRequestBuilder = new QBPagedRequestBuilder();
pagedRequestBuilder.setPage(1);
pagedRequestBuilder.setPerPage(50);

ArrayList<Integer> usersIds = new ArrayList<>();
usersIds.add(qbChatDialog.getRecipientId());//set user id(s) here

QBUsers.getUsersByIDs(usersIds, pagedRequestBuilder).performAsync(new QBEntityCallback<ArrayList<QBUser>>() {
@Override
    public void onSuccess(ArrayList<QBUser> users, Bundle params) {
        //here you can get User(S) detail in users arrayList
        String email = users.get(0).getEmail();
    }

    @Override
    public void onError(QBResponseException errors) {
        Log.e("error" , errors.toString());
    }
});