如何读取 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 中的无效内容数据,这很可能是您看到错误消息的原因。
我有一个 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 中的无效内容数据,这很可能是您看到错误消息的原因。