Quckblox q-municate 视频聊天“需要令牌”
Posted
技术标签:
【中文标题】Quckblox q-municate 视频聊天“需要令牌”【英文标题】:Quckblox q-municate Video chat 'Token Required' 【发布时间】:2014-07-11 20:30:00 【问题描述】:使用 Quickblox 的 q-municate for android 并在一天的视频聊天中取得了成功。
我现在收到一个错误,只是说“需要令牌”。根据 Quickblox 文档,我知道会话在两小时后超时。
是否有关于如何解决此问题的教程?
我已阅读此documentation,但仍然不知道如何将它们拼凑在一起。
我在 QBAuthHelp.java 文件中找到了这段代码,这是验证视频聊天的方法吗?
public QBUser login(QBUser inputUser) throws QBResponseException, BaseServiceException
QBUser user;
QBAuth.createSession();
String password = inputUser.getPassword();
user = QBUsers.signIn(inputUser);
String token = QBAuth.getBaseService().getToken();
user.setPassword(password);
AppSession.startSession(LoginType.EMAIL, user, token);
return user;
在这里感谢您的帮助,我是这里的新手。
【问题讨论】:
【参考方案1】:您需要使用 QBAuth 方法在您的应用中获取会话。 需要认证,所以你可以成功获取Token并创建会话。
【讨论】:
我相信我已经找到了 session QBAuth 方法,它在上面的问题中列出。对于我在这里可能做错的事情,我非常感谢任何帮助。【参考方案2】:在您注册后启动您的应用程序以首先使用您的 quickblox 帐户对您的应用程序进行身份验证。 1.在您的应用程序中创建应用程序类。
public class VideoChatApplication extends Application
@Override
public void onCreate()
super.onCreate();
QBSettings.getInstance().fastConfigInit(Constant.APP_ID,
Constant.AUTH_KEY, Constant.AUTH_SECRET);
2 在清单文件中定义您的应用程序类
<application
android:name=".VideoChatApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Signup"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity></application>
3首先你需要在登录用户后注册用户
private void createSession(final String login, final String password)
final QBUser user = new QBUser(login, password);
QBAuth.createSession(login, password,
new QBEntityCallbackImpl<QBSession>()
@Override
public void onSuccess(QBSession session, Bundle bundle)
user.setId(session.getUserId());
QBChatService.getInstance().login(user,
new QBEntityCallbackImpl<QBUser>()
@Override
public void onSuccess(QBUser result,
Bundle params)
@Override
public void onSuccess()
// login success
@Override
public void onError(List errors)
Toast.makeText(this,
"Error when login",
Toast.LENGTH_SHORT).show();
for (Object error : errors)
);
@Override
public void onSuccess()
super.onSuccess();
@Override
public void onError(List<String> errors)
Toast.makeText(this,
"Error when login, check test users login and password",
Toast.LENGTH_SHORT).show();
);
【讨论】:
【参考方案3】:您是否修改了 Q-municate 代码?
“需要令牌”表示您正在尝试向 QuickBlox 后端发出请求(任何),但您之前没有创建会话。
所有 QuickBlox 应用程序中的第一个请求应该是会话创建请求:
QBAuth.createSession(...
然后等到此请求完成并执行任何其他请求
【讨论】:
以上是关于Quckblox q-municate 视频聊天“需要令牌”的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Quckblox 和 Flutter 接收消息和传入事件