com.parse.ParseRequest $ ParseRequestException:无效的会话令牌 [英] com.parse.ParseRequest$ParseRequestException: invalid session token

查看:678
本文介绍了com.parse.ParseRequest $ ParseRequestException:无效的会话令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我对Android应用程序的工作中,我使用的解析云。我已经注册到系统中,然后我试图从解析获取数据后。

不过,我得到一个异常每次

  

com.parse.ParseRequest $ ParseRequestException:无效的会话令牌

 字符串username = ParseUser.getCurrentUser()getUsername()。
ParseQuery<的parseObject> parseQuery = ParseQuery.getQuery(用户);
parseQuery.findInBackground(新FindCallback<的parseObject>(){

    @覆盖
    公共无效完成(名单<的parseObject>清单,ParseException的ParseException的){

    }
});
 

我们如何解决这个问题。

解决方案

谷歌搜索和解析文档并没有给这个例外太多的信息,但也有我发现一些常见的错误。你应该把用户作为 ParseUser ,不是的parseObject

  ParseQuery< ParseUser>查询= ParseUser.getQuery();
 

还有一个情况:需要指定找到在后台。如果是用户名,这样写:

  parseQuery.whereEqualTo(用户名,用户名);
 

和最终的回调将包含列表 ParseUser S,不是的parseObject 取值

  query.findInBackground(新FindCallback< ParseUser>(){
  公共无效完成(名单< ParseUser>的对象,ParseException的E){
  }
});
 

我不知道除了会消失,但我希望这个答案将是有益的反正。

一些有用的链接:文档与例如,<一个href="http://stackoverflow.com/questions/16624745/how-to-find-a-user-in-a-parseuser-object">answer, 文档类 ParseQuery 举例

更新

这是官方文档如何处理这种错误,也是我评论说尝试使用 ParseUser.enableRevocableSessionInBackground() Parse.initialize(); 按照SDK文档是要去更新会话令牌,只有一个情况下,它可能是无效的 - 的parseObject 被删除。 希望有所帮助。

Hello I am working on android app in which I am using parse cloud. I have signUp into the system then after I am trying to fetch data from parse.

But I am getting an exception everytime

com.parse.ParseRequest$ParseRequestException: invalid session token

String userName = ParseUser.getCurrentUser().getUsername();
ParseQuery<ParseObject> parseQuery = ParseQuery.getQuery("users");
parseQuery.findInBackground(new FindCallback<ParseObject>() {

    @Override
    public void done(List<ParseObject> list, ParseException parseException) {

    }
});

How we can resolve this problem.

解决方案

Googling and Parse docs didn't give too much info about this exception, but There are few common mistakes I found. You should treat users as ParseUser, not ParseObject.

ParseQuery<ParseUser> query = ParseUser.getQuery();

One more case: need to specify what to find in background. If it is username, so write:

parseQuery.whereEqualTo("username", userName);

And finally callback will contain List with ParseUsers, not ParseObjects

query.findInBackground(new FindCallback<ParseUser>() {
  public void done(List<ParseUser> objects, ParseException e) {
  }
});

I'm not sure exception will be gone, but I hope this answer will be useful anyways.

Some useful links: doc with example, answer, Doc for class ParseQuery with examples

UPDATE

This is the official doc how to handle this error, also as I commented try to use ParseUser.enableRevocableSessionInBackground() after Parse.initialize(); According to the SDK Documentation it is gonna update session token and only one case it could be invalid - ParseObject was removed. Hope that helps.

这篇关于com.parse.ParseRequest $ ParseRequestException:无效的会话令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆