Требуется токен Quickblox

Я использую сервер quickblox и разрабатываю приложение на Java. К настоящему времени у меня возникла странная проблема: в своей деятельности я выполняю вход с помощью APP_ID, AUTH_KEY и AUTH_SECRET, и когда я перехожу к другому фрагменту (не активности), мне удается загрузить данные. Проблема в том, что когда я переключаюсь на другой фрагмент и пытаюсь вытащить данные, result.isSuccess() возвращает false и говорит, что требуется Token. Я искал об этом токене и нашел некоторую информацию об этом, но еще не видел способа, как его получить.

Это код, куда я помещаю данные (и он отлично работает):

HashMap<String, Object> fields = new HashMap<String, Object>();

    String username = usernamefield.getText().toString();
    String moza = mozafield.getText().toString();
    String yaad = yaadfield.getText().toString();
    fields.put("username", username);
    fields.put("from",moza);
    fields.put("whereto", yaad);

    QBCustomObject qbCustomObject = new QBCustomObject();
    qbCustomObject.setClassName("FromTo");  // your Class name
    qbCustomObject.setFields(fields);
    QBCustomObjects.createObject(qbCustomObject, new QBCallbackImpl() {
        @Override
        public void onComplete(Result result) {
            if (result.isSuccess()) {
                QBCustomObjectResult qbCustomObjectResult = (QBCustomObjectResult) result;
                QBCustomObject qbCustomObject = qbCustomObjectResult.getCustomObject();
                String getid  = qbCustomObject.getCustomObjectId();
                //String getusername = qbCustomObject.get
                Bundle bndl = new Bundle();
                bndl.putString("id", getid);
                callback.savedDetails(bndl);

            } else {
                Log.e("Errors",result.getErrors().toString());
            }

        }


    }); 

и здесь я пытаюсь получить данные, и у меня возникает проблема с токеном:

 QBCustomObjectRequestBuilder requestBuilder = new QBCustomObjectRequestBuilder();
        QBCustomObjects.getObjects("FromTo", requestBuilder, new QBCallbackImpl() {             
                     @Override
                    public void onComplete(Result result) {
                        super.onComplete(result);
                         if (result.isSuccess()) {
                             QBCustomObjectLimitedResult coresult = (QBCustomObjectLimitedResult) result;
                             ArrayList<QBCustomObject> co = coresult.getCustomObjects();
                             Log.d("Records: ", co.toString());
                         } else {
                             Log.e("Errors",result.getErrors().toString());
                         }
                    }
                 });
            }

Код входа:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
               .
               .
               .
               .
 QBSettings.getInstance().fastConfigInit(String.valueOf(APP_ID), AUTH_KEY, AUTH_SECRET);
 QBUser user = new QBUser(myusername, mypassword);
 QBAuth.createSession(user , this , QBQueries.SIGN_IN);
                   .
                   .
@Override
    public void onComplete(Result result, Object context) { 
        QBQueries qbQueryType = (QBQueries) context;
        if (result.isSuccess()) {
            switch (qbQueryType) {
            case SIGN_IN:
             // return result from QBAuth.authorizeApp() query
             QBSessionResult qbSessionResult = (QBSessionResult) result;
             DataHolder.getDataHolder().setSignInUserId(qbSessionResult.getSession().getUserId());
             break;
            }
     }
   }

EDIT: Я получил токен, вопрос в том, где я должен его использовать?


person Juvi    schedule 31.12.2013    source источник
comment
Не могли бы вы прислать код, где вы пытаетесь войти в приложение?   -  person Andrew Dmytrenko    schedule 02.01.2014
comment
@AndrewDmytrenko Я добавил в код входа, дайте мне знать, если я что-то упустил, спасибо.   -  person Juvi    schedule 08.01.2014


Ответы (1)


Попробуйте это:

try {
    BaseService.createFromExistentToken("31ed199120fb998dc472aea785a1825809ad5c04", date);
} catch (BaseServiceException e) {
    e.printStackTrace();
}
person Mtl Dev    schedule 23.07.2015