Q-Municate“需要令牌”问题

Posted

技术标签:

【中文标题】Q-Municate“需要令牌”问题【英文标题】:Q-Municate 'Token Required' issue 【发布时间】:2014-07-17 15:39:43 【问题描述】:

我正在玩 Quickblox q-municate,并成功进行了一天的 1:1 视频聊天,但现在我收到“需要令牌”。

我知道我需要创建一个会话,这是我想出并放在 QBAuthHelper.java 文件中的代码:

public class QBAuthHelper extends BaseHelper 

public QBAuthHelper(Context context) 
    super(context);


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;


public QBUser login(String socialProvider, String accessToken,
        String accessTokenSecret) throws QBResponseException, BaseServiceException 
    QBUser user;
    QBSession session = QBAuth.createSession();
    user = QBUsers.signInUsingSocialProvider(socialProvider, accessToken, accessTokenSecret);
    user.setPassword(session.getToken());
    String token = QBAuth.getBaseService().getToken();
    AppSession.startSession(LoginType.FACEBOOK, user, token);
    return user;


public QBUser signup(QBUser inputUser, File file) throws QBResponseException, BaseServiceException 
    QBUser user;
    QBAuth.createSession();
    String password = inputUser.getPassword();
    inputUser.setOldPassword(password);
    user = QBUsers.signUpSignInTask(inputUser);
    if (null != file) 
        QBFile qbFile = QBContent.uploadFileTask(file, true, (String) null);
        user.setWebsite(qbFile.getPublicUrl());
        user = QBUsers.updateUser(inputUser);
    
    user.setPassword(password);
    String token = QBAuth.getBaseService().getToken();
    AppSession.startSession(LoginType.EMAIL, user, token);
    return inputUser;


public void logout() throws QBResponseException 
    AppSession activeSession = AppSession.getSession();
    if (activeSession != null) 
        activeSession.closeAndClear();
    
    Session.getActiveSession().closeAndClearTokenInformation();
    QBAuth.deleteSession();


public QBUser updateUser(QBUser inputUser) throws QBResponseException 
    QBUser user;
    if (!TextUtils.isEmpty(inputUser.getFacebookId()) && TextUtils.isEmpty(inputUser.getWebsite())) 
        return inputUser;
    
    String password = inputUser.getPassword();
    user = QBUsers.updateUser(inputUser);
    user.setPassword(password);
    return user;


public QBUser updateUser(QBUser user, File file) throws QBResponseException 
    QBFile qbFile = QBContent.uploadFileTask(file, true, (String) null);
    user.setWebsite(qbFile.getPublicUrl());
    user.setFileId(qbFile.getId());
    return updateUser(user);


public void resetPassword(String email) throws QBResponseException 
    QBAuth.createSession();
    QBUsers.resetPassword(email);

我仍然遇到“需要令牌”问题,不确定我在这里做错了什么。

【问题讨论】:

【参考方案1】:

如果它在调用后出现,则说明本地库中的调用错误。我们现在正在努力。要在出现错误后继续在应用程序中工作,您只需重新登录即可。它将重新初始化模块。

【讨论】:

以上是关于Q-Municate“需要令牌”问题的主要内容,如果未能解决你的问题,请参考以下文章

无法登录或使用Q-municate v1.1.4 登录

在 Android Q-Municate 中未收到后台来电和消息通知

安装apk Q-municate时出错

oAuth2.0:为啥需要“授权码”,然后才需要令牌?

如何以 xamarin 形式获取 android 和 IOS 设备令牌?

DRF JWT 在 OPTIONS 请求上不需要令牌