2017-04-18 67 views
1

我有一个试图在CloudKit数据库中创建记录的php脚本。如何阅读CloudKit错误?

它返回此错误:

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; 

当我检查从$身体

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

它通过JSON皮棉产量,所以我不知道这是一个JSON问题。

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

回答

0

我绝对没有约CloudKit的线索,但我发现this documentation page与跟随着例如:

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

这无疑从您尝试发送有什么不同,无论是在数据结构 方面(你record不字典)和内容(你没有recordType)。 因此,尽管您的JSON在语法上是正确的,但您仅仅发送包含在有效JSON中的无效内容数据,这很可能是您看到错误消息的原因。

+0

Bravo Marcin。我完全错过了缺少''记录''和''recordType'''这就是我工作的同一个文档页面!现在完美运作。感谢1000x。我想我需要更多的睡眠。 –