Quickblox:无法通过 tag_list 获取用户。错误:需要令牌
Posted
技术标签:
【中文标题】Quickblox:无法通过 tag_list 获取用户。错误:需要令牌【英文标题】:Quickblox: Cannot get users by tag_list. Error: Token is required 【发布时间】:2017-03-14 15:07:56 【问题描述】:我需要获取已进入特定房间的用户。房间名称在登录时输入到 tag_list 参数中。我调整了示例的代码以通过 tag_list 参数获取用户,但它说我需要一个令牌才能获得访问权限。谁能解释我没有复制的示例代码中发生了什么?这是我的代码:
$scope.callees = [$scope.user.id];
$scope.sessionType = QB.webrtc.CallType.VIDEO; // AUDIO is also possible
$scope.session = QB.webrtc.createNewSession($scope.callees, $scope.sessionType);
var mediaParams =
audio: true,
video: true,
options:
muted: true,
mirror: true
,
elemId: 'localVideoEl',
optional:
minWidth: 240,
maxWidth: 320,
minHeight: 160,
maxHeight: 240
;
QB.users.get(
'tags': [$scope.user.tag_list],
'per_page': 100
,
function(err, result)
if (err)
console.log(err);
else
console.log(result);
);
【问题讨论】:
【参考方案1】:嗯,Angular 用户...原来答案太令人兴奋了!!! (讽刺)事实证明,您必须将请求包装在另一个 QB.login 和另一个 QB.createSession 中......
QB.createSession(function(err,result)
if (result)
QB.login($scope.user, function(loginErr, loginUser)
if (loginErr)
console.log('log in error');
console.log(loginErr);
else
// HANDLE USERS
var params = tags: [$scope.user.tag_list];
QB.users.get(params, function(err, result)
if (err)
console.log(err);
else
console.log(result);
);
// HANDLE CHAT
QB.chat.connect(patient, function(err, res)
if (err) console.log(err); else console.log(res);
);
// HANDLE VIDEO
$scope.callees = [$scope.user.id];
$scope.sessionType = QB.webrtc.CallType.VIDEO; // AUDIO is also possible
$scope.session = QB.webrtc.createNewSession($scope.callees, $scope.sessionType);
var mediaParams =
audio: true,
video: true,
options:
muted: true,
mirror: true
,
elemId: 'localVideoEl',
optional:
minWidth: 240,
maxWidth: 320,
minHeight: 160,
maxHeight: 240
;
$scope.session.getUserMedia(mediaParams, function(err, stream)
if (err)
//console.log(err);
else
//console.log(stream);
);
);
else if (err)
console.log(err);
);
因此,尽管为拥有一个单页应用程序付出了所有努力,但您仍然必须在每个页面上登录...如果 Angular 社区中的任何人在每次路由更改后持续登录都有更好的答案,我不会讽刺地高兴!随意列出您的解决方案,我会将其标记为正确,而不是我的……因为我觉得,这不是真正的答案……
【讨论】:
那是因为您必须创建 QB.createSession 并获取会话令牌才能使用 QB API。否则你会得到'需要令牌'以上是关于Quickblox:无法通过 tag_list 获取用户。错误:需要令牌的主要内容,如果未能解决你的问题,请参考以下文章
无法解决:com.quickblox:quickblox-android-sdk-chat:2.6.1