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

2023-09-07 14:19:45 作者:c’est 人尽皆知

您好,我对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();
 
pythonrequests模块给发送参data默认就会urllib.parse.quote plus进行编码,无需自己手动处理.pdf 互联网文档类资源 CSDN下载

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

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

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

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

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

一些有用的链接:文档与例如,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.