如何读取 CloudKit 错误?

How Do I read CloudKit Errors?

我有一个 php 脚本试图在 CloudKit 数据库中创建记录。

它returns这个错误:

object(stdClass)#1 (3) { ["uuid"]=> string(36) "c70072a1-fab6-491b-a68f-03b9056223e1" ["serverErrorCode"]=>
string(11) "BAD_REQUEST" ["reason"]=> string(62) "BadRequestException: Unexpected input at [line: 2, column: 10]" }

我想这会告诉我到底是什么问题,但我不知道如何解释它。第 2 行和第 10 列在哪里?

我认为它与我在创建记录请求中发送的JSON有关。

$url = 'https://api.apple-cloudkit.com/database/1/' . $CONTAINER .    '/development/public/records/modify';
$opDict = '{"operationType": "create",
"record":"Artists",
"fields": {"firstName":{"value":"Mei"}, 
"lastName": {"value":"Chen"}, 
"principalDiscipline": {"value":""},
"secondaryDiscipline":{"value":""}},
"recordName":"Mei Chen"}';

$body = '{"operations":['.$opDict.']}';
echo $body; 

当我检查 $body 的输出时

{"operations":[{"operationType": "create", "record":"Artists", "fields": {"firstName":{"value":"Mei"}, "lastName": {"value":"Chen"}, "principalDiscipline": {"value":""}, "secondaryDiscipline":{"value":""}}, "recordName":"Mei Chen"}]}

它通过了 JSON lint,所以我不确定这是一个 JSON 问题。

有人可以向我解释如何解释我从 CloudKit 得到的错误吗?文档对错误有点含糊。

我完全没有关于 CloudKit 的线索,但我通过以下示例找到了 this documentation page

{
    "operationType" : "create",
    "record" : {
        "recordType" : "Artist",
        "fields" : {
            "firstName" : {"value" : "Mei"},
            "lastName" : {"value" : "Chen"}
        }
        "recordName" : "Mei Chen"
    },
}

无论是在数据结构方面,都与您尝试发送的内容明显不同 (你的 record 不是字典)和内容(你没有 recordType)。 因此,虽然您的 JSON 在语法上是正确的,但您只是发送了包含在有效 JSON 中的无效内容数据,这很可能是您看到错误消息的原因。