2017-04-18 66 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。我想我需要更多的睡眠。 –