【问题标题】:How to set Custom object Id through could code Parse.com如何通过代码 Parse.com 设置自定义对象 ID
【发布时间】:2020-06-19 06:43:57
【问题描述】:

我正在使用由 Back4app 托管的 Parse server 3.10。我已经在服务器自定义设置{"allowCustomObjectId": true} 中启用了允许自定义 Id 的选项,现在我可以通过这样的 API 调用设置对象的自定义 Id。

-H "X-Parse-Application-Id: APPLICATIONID"
-H "X-Parse-REST-API-Key: REST_KEY" 
--data-urlencode "{"objectId":"xWMyZ4YEGZ","name":"Nat"}" 
https://parseapi.back4app.com/classes/Test

但我需要通过云代码进行设置,现在我正在尝试做这样的事情,但这不起作用。

Parse.Cloud.define("setId",async (request) => { 
        const GameScore = Parse.Object.extend("GameScore");
        const gameScore = new GameScore();

        gameScore.set("objectId", "8YgwDJ19qX");
        gameScore.set("name","nat");
        return await gameScore.save(null,{useMasterKey:true});
});

当我尝试运行此云功能时,这是我得到的错误。

{
    "code": 101,
    "error": "Object not found."
}

期待解决方案。

【问题讨论】:

    标签: node.js parse-platform parse-cloud-code back4app


    【解决方案1】:

    目前似乎无法使用 JavaScript 通过云代码设置自定义 ID。一种解决方法是通过云代码使用 REST API,如下所示:

    Parse.Cloud.define("createObjectId", async (request) => {
        //Your custom id
        const objectId = "8YgwDJ18qX";
        //Your Class name and another optional class variable
        const { nameClass, propertyName } = request.params;
        //Make sure to define these environment variables in your server's env file
        const { APPLICATION_ID,  REST_KEY, SERVER_URL } = process.env;
        //Finally call hit the api.
        return Parse.Cloud.httpRequest({
            method: 'POST',
            url: `${SERVER_URL}/classes/${nameClass}`,
            headers: {
                'Content-Type': 'application/json;charset=utf-8',
                'X-Parse-Application-Id':APPLICATION_ID,
                'X-Parse-REST-API-Key':REST_KEY
            },
            body: {
                objectId: objectId,
                name: propertyName
            }
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 2018-10-15
      • 1970-01-01
      相关资源
      最近更新 更多