我如何阅读CloudKit错误?

时间:2017-04-18 21:31:55

标签: php json cloudkit cloudkit-web-services

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

它返回此错误:

  

object(stdClass)#1(3){[“uuid”] =>串(36)   “c70072a1-fab6-491b-a68f-03b9056223e1”[“serverErrorCode”] =>
  string(11)“BAD_REQUEST”[“reason”] =>串(62)   “BadRequestException:[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”:“创建”,“记录”:“艺术家”,   “fields”:{“firstName”:{“value”:“Mei”},“lastName”:{“value”:“Chen”},   “principalDiscipline”:{“value”:“”},   “secondaryDiscipline”:{“value”:“”}},“recordName”:“Mei Chen”}}}

它传递JSON lint,所以我不确定它是否是JSON问题。

有人可以向我解释如何解释我从CloudKit获得的错误。文档对错误有点模糊。

1 个答案:

答案 0 :(得分:0)

我对CloudKit一无所知,但我发现this documentation page有以下示例:

{
    "operationType" : "create",
    "record" : {
        "recordType" : "Artist",
        "fields" : {
            "firstName" : {"value" : "Mei"},
            "lastName" : {"value" : "Chen"}
        }
        "recordName" : "Mei Chen"
    },
}
在数据结构方面,

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