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

时间:2015-04-30 07:30:03

标签: android parse-platform

您好我正在使用解析云的Android应用程序。在我尝试从解析中获取数据之后,我已经登录系统。

但我每次都会得到一个例外

  

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

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) {

    }
});

我们如何解决这个问题。

3 个答案:

答案 0 :(得分:2)

谷歌搜索和解析文档没有提供太多关于此异常的信息,但我发现的常见错误很少。您应将用户视为ParseUser,而不是ParseObject

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

还有一个案例:需要指定在后台查找的内容。如果是username,那么请写:

parseQuery.whereEqualTo("username", userName);

最后回调将包含ListParseUser s,而不是ParseObject s

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

我不确定异常会消失,但我希望这个答案无论如何都会有用。

一些有用的链接:doc with exampleanswerDoc for class ParseQuery with examples

<强>更新

这是官方的doc如何处理此错误,同时我评论在ParseUser.enableRevocableSessionInBackground()之后尝试使用Parse.initialize();根据SDK文档,它将更新会话令牌而且只有一个情况可能无效 - ParseObject已被删除。 希望有所帮助。

答案 1 :(得分:1)

我在登录时尝试登录时遇到此错误。 尝试拨打ParseUser.logout()

答案 2 :(得分:-1)

正如Yurets所说,你可能删除了会话对象。这可以通过卸载应用程序然后重新安装来快速解决。