2017-07-21 17 views
0

我已经非常成功地使用CK Web服务,但是我很难理解如何创建CKReference。如何使用CloudKit Web服务创建CKReference?

我已经看过这里的文档参考字典,但不能做这样的字典工作。

我的PHP生成以下操作词典:

{"operations":[ 
{"operationType": "create", 
"record": { "recordType": "Works", 
    "fields": { 
      "type":{"value":"Painting"}, 
      "title": {"value":"test"}, 
      "date": {"value":"10/29/1965"}, 
      "height": {"value":"21"}, 
      "length": {"value":"21"}, 
      "width": {"value":"21"}, 
      "runningTime": {"value":""}, 
      "materials": {"value":"test"}, 
      "description":{"value":"test"}, 
      "saleStatus": {"value":"yes"}, 
      "tos":{"value":"yes"}, 
      "artist": {"value":"Peter Wiley"}, 
      "artistRecordName":{"value":"286CB3BF-69CC-4DD3-9233-CC80E5FA95D4"}, 
      "artistRecordRef": { 
       "recordName": {"value":"286CB3BF-69CC-4DD3-9233-CC80E5FA95D4"},   
       "zoneID":{"zoneName": {"value":"_defaultZone"}}, 
       "action": {"value":"NONE"} 
      }, 
      "subject":{"value":""}, 
      "metaType":{"value":"Fine Art"}, 
      "userRecordName":{"value":"30C54AD8-3701-428C-99B7-0393DD2DAB45"}, 
      "userRole":{"value":"Artist"}, 
      "status":{"value":"P"} 
    } 
} } 
]} 

此请求将返回错误:

BAD_REQUEST" [1]=> string(62) "BadRequestException: Unexpected input at [line: 26, column: 3]

如果我删除 “artistRecordRef” 的要求运作,因为它应该。

我相信答案对于更有经验的人来说是显而易见的。有人可以看到有什么问题吗?

回答

0

好的,我在这里找到了答案,但已发布给其他可能有问题的人,因为答案不容易找到。

这是什么在起作用:

"artistRecordRef": {"value": { 
       "recordName": "'.$artistRecordName.'", 
       "action": "NONE" 
      } 
     }, 

的参考字典有一个价值传递。我没有得到这个,在Apple文档中没有很好的文档记录(至少在我能找到的那些文档中)。

参见:How can I use CloudKit web services to query based on a reference field?