标签: parse-server

com.parse.ParseRequest $ ParseRequestException:错误的json响应(当我将解析服务器移动到Heroku时)

我已经在heroku上移动了解析服务器,并且还将数据库从parse.com移动到了mangolab.当我从我的Android应用程序发出请求时,我收到以下错误.

com.parse.ParseRequest$ParseRequestException: bad json response
Run Code Online (Sandbox Code Playgroud)

应用请求

ParseQuery<ParseObject> query = ParseQuery.getQuery("sport");
            query.findInBackground(new FindCallback<ParseObject>() {
''''''''''''
...........    
});
Run Code Online (Sandbox Code Playgroud)

注意: - 1.我正在使用android parse sdk(v1.13.0)
- 2. Android studio
- 3.我的Parse初始化代码是

Parse.initialize(new Parse.Configuration.Builder(getApplicationContext())
              .applicationId("mTAb2txgEHPy4fbxxxx").clientKey("KpKKNtKxxxxxPsppS0ovA")
                .server("http://raxxx-beyond-20009.herokuapp.com/parse").build());
Run Code Online (Sandbox Code Playgroud)


- 4.我在Manifest文件中添加了以下Permission

uses-permission android:name="android.permission.INTERNET" 
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
Run Code Online (Sandbox Code Playgroud)


- 5.我跟着下面的文章并实现了这样的一切. https://learnappmaking.com/how-to-migrate-parse-app-parse-server-heroku-mongolab/


- 5.1.我也是我的heroku帐户(heroku.com)中的mongodb连接字符串,它显示正确.
- 5.1.2 - 我还确认了我的heroku帐户URL(我在第3点的解析初始化过程中通过)


- 6.我也尝试使用解析android sdk(v1.12.0)但没有成功.(parse.initilize(........).server(....)在这个版本中没有实现)

-7.的build.gradle(模块:APP)

compile files('libs/Parse-1.13.0/Parse-1.13.0.jar')
Run Code Online (Sandbox Code Playgroud)

android heroku mongodb node.js parse-server

3
推荐指数
1
解决办法
2133
查看次数

解析服务器上的多个云文件

我正在托管Parse Server开源项目.我有我所有的云功能cloud/main.js.这个文件有点太大了.我怎么能拥有多个云文件?

javascript cloud parse-platform parse-server

3
推荐指数
1
解决办法
438
查看次数

解析服务器安全性

我正在运行Parse Server(https://github.com/ParsePlatform/parse-server-example)的干净Heroku和MLab安装,我使用Parse Server Dashboard控制它(https://github.com/ParsePlatform/parse-dashboard).

我可以进行Rest API调用并创建新类.如何阻止通过API调用(登录用户或匿名)创建新类?

看起来目前在Parse Server Dashboard中没有对此的控制.

mongodb parse-platform parse-server

3
推荐指数
1
解决办法
1600
查看次数

无法运行解析仪表板

尝试启动仪表板时出现错误:'parse-dashboard' 不是内部或外部命令,也不是可运行的程序或批处理文件。”

在此之前,我输入了命令“npm install -g parse-dashboard”,但无济于事。

git dashboard heroku parse-platform parse-server

3
推荐指数
1
解决办法
888
查看次数

解析服务器仪表板登录

所以,我是 Android Studio 的新手。我正在一步步学习在线课程。我在 AWS 上使用 ParseServer。我已经成功获取了我的 appId 等,并且可以直接从浏览器连接 Java SSH 客户端。我的应用程序可以成功将信息存储在 ParseServer 中,但我无法访问解析仪表板。当我尝试时,它要求我输入我的用户名和密码——我没有。

我找到了一个文件(在 bitnami 终端中),我认为我应该在这里为自己创建一个帐户?

# /home/bitnami/apps/parse/.forever/config.json


{
  "root": "/opt/bitnami/apps/parse/.forever",
  "pidPath": "/opt/bitnami/apps/parse/.forever/pids",
  "sockPath": "/opt/bitnami/apps/parse/.forever/sock",
  "loglength": 100,
  "logstream": false,
  "columns": [
    "uid",
    "command",
    "script",
    "forever",
    "pid",
    "id",
    "logfile",
    "uptime"
  ]
}
Run Code Online (Sandbox Code Playgroud)

parse-platform parse-android-sdk parse-server parse-dashboard

3
推荐指数
1
解决办法
8361
查看次数

解析云代码功能响应成功不是功能

我正在尝试从iOS客户端调用解析云函数,但response.success()函数似乎为空。我收到一条错误消息,说response.success不是服务器上的函数。

这是我的解析云函数:

Parse.Cloud.define("pruebaQuery", function(request, response) {
  const query = new Parse.Query("grupo");
  query.equalTo("name", request.params.grupoName);
  query.find()
    .then((results) => {
      for (let i = 0; i < results.length; ++i) {
        var grupoId = results[i].get("grupoId");
        console.log("GrupoId: " + grupoId);
      }
      response.success("Success pruebaQuery");
    })
    .catch(() =>  {
      response.error("grupo lookup failed");
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我从iOS客户端调用的方式:

[PFCloud callFunctionInBackground:@"pruebaQuery" withParameters:@{@"grupoName": @"Kinder 3"} 
block:^(NSString *object, NSError *error) {
        if (!error) {
            NSLog(@"CLOUDCode/SUCCESS: %@", object);
        }
        else {
            NSLog(@"CLOUDCode/ERROR %@  code: %ld", error, (long)[error code]);
        }
    }];
Run Code Online (Sandbox Code Playgroud)

有什么线索为什么response.success()函数不起作用?

node.js parse-platform parse-server parse-cloud

3
推荐指数
1
解决办法
1318
查看次数

随着时间的推移,如何正确使用多个 Parse.Objects 和用户的 Parse.Roles 关系?

以下大部分内容都是通过解析仪表板完成的,所以有点啰嗦,但我理解代码只是不理解关系。

我正在设置 Parse.Roles,似乎每个单独的 Parse.Object 都需要设置角色才能访问给定的 Parse.Object。例如,对象 ACL 需要包含“管理员”和“版主”(具有各自的权限),以便管理员或版主具有访问权限。

由于父角色和子角色都是可能的,因此使用“组织”角色设置 Parse.Object 的 ACL 是有意义的,然后由子角色进一步修改该 ACL。因此,“组织”内的“查看者”无法写入,但“组织”内的“管理员”可以读取/写入。我尝试了多种方法来执行此操作 - 将一个用户关联到“查看者”,将一个用户关联到“组织”内的“管理员”,但这似乎不起作用。

我当前的解决方案:手动/以编程方式设置每个 Parse.Object ACL 与多个预设角色。例如,使用 ACL 角色“Viewer”和“Admin”解析类“Person”。

问题:如果我想在将来为同一组织创建不同的角色,我是否需要循环遍历每个 Parse.Object 并为每个过去的对象手动设置新角色?

这些关系应该由父组织管理,这样就不需要手动完成,这是有道理的,但这似乎不起作用。

任何答案、想法或链接都值得赞赏。

node.js parse-cloud-code parse-server parse-dashboard

3
推荐指数
1
解决办法
1972
查看次数

使用 RxSwift 和 Parse-Server 进行轮询

我正在开发一个 Apple TV 应用程序,该应用程序使用 Parse-Server 作为后端和 RxSwift,并且我正在尝试建立一个类似于电视流媒体应用程序上的身份验证系统。

现在,我在解析数据库中有一个 AuthenticationCode 对象,其中包含代码、设备 ID 和会话令牌列。我正在尝试使用 RxSwift 的间隔每 5 秒对对象执行一次获取,并检查会话令牌列是否已填写。

这是代码:

func poll(authorizationCode: AuthorizationCode) -> Observable<AuthorizationCode> {
    return Observable<Int>.interval(5, scheduler: MainScheduler.instance).flatMap({ _ in
        return Observable<AuthorizationCode>.create { observer -> Disposable in
            authorizationCode.fetchInBackground(block: { (authorizationCode, error) in
                if let authorizationCode = authorizationCode as? AuthorizationCode {
                    observer.onNext(authorizationCode)

                    if authorizationCode.sessionToken != nil {
                        observer.onCompleted()
                    }
                } else if let error = error {
                    observer.onError(error)
                }
            })

            return Disposables.create()
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

每次获取对象时,我都会发出 onNext 事件,并且我想在会话代码存在时终止序列。

我在这段代码中遇到的问题是,即使在填写了会话令牌并调用了 onCompleted 之后,计时器仍然会触发,并且订阅者永远不会获得 onCompleted …

polling ios swift rx-swift parse-server

2
推荐指数
1
解决办法
1810
查看次数

修改解析服务器中的 ACL

我正在尝试修改一个对象的 ACL,而不创建另一个对象。我不希望删除或覆盖当前的 ACL。每当我使用object.setACL()它时,它都会覆盖当前的 ACL。

有没有办法保存修改后的ACL而不覆盖它?

acl parse-server

2
推荐指数
1
解决办法
784
查看次数

一劳永逸地防止 Parse Server 中的重复的最终方法

我们现在使用 parse-server 面临的最大问题之一是重复。尽管我们已经实现了 Parse 云代码来防止此类事件通过beforeSaveafterSave同时添加了外部中间件以在保存之前检查现有对象,但我们仍然面临着重复,特别是在并发操作上。

这是我们防止特定类重复的代码:

Parse.Cloud.beforeSave("Category", function(request, response) {
    var newCategory = request.object;
    var name = newCategory.get("name");
    var query = new Parse.Query("Category");
    query.equalTo("name", name);
    query.first({
        success: function(results) {
            if(results) {
                if (!request.object.isNew()) { // allow updates
                    response.success();
                } else {
                    response.error({errorCode:400,errorMsg:"Category already exist"});
                }
            } else {
                response.success();
            }
        },
        error: function(error) {
            response.success();
        }
    });
});
Parse.Cloud.afterSave("Category", function(request) {
    var query = new Parse.Query("Category");
    query.equalTo("name", request.object.get("name"));
    query.ascending("createdAt");
    query.find({
        success:function(results) {
            if (results && results.length …
Run Code Online (Sandbox Code Playgroud)

node.js parse-platform parse-server

2
推荐指数
1
解决办法
478
查看次数