我试图使用CloudKit API从我的服务器创建公共数据库中的记录,使用服务器对服务器的密钥。我使用下面的shell脚本来生成curl命令。当我运行它时,苹果公司的回应只是说有一个内部错误。
{ "uuid“:”a6415feb-168 b-4615-9577-10c5168d7d7c“,"serverErrorCode”:"INTERNAL_ERROR“}
这是我正在使用的脚本:
#!/bin/sh
subpath=/database/1/iCloud.com.mycompany.myapp/development/public/records/modify
date=`date -u +"%Y-%m-%dT%H:%M:%SZ"`
body='
{
"operations": [
{
"operationType": "forceReplace",
"record": {
"recordType": "Drawing",
"fields": {
"date": "2021-01-09T12:00:00Z",
"numbers": [14, 26, 38, 45, 46, 13],
"type": 1
}
},
"recordName": "powerball20210109"
}
],
"atomic": true
}
'
encoded=`echo $body | base64`
signature="$date:$encoded:$subpath"
curl -X POST https://api.apple-cloudkit.com$subpath \
-H 'Content-Type: application/json' \
-H 'X-Apple-Cloudkit-Request-KeyID: myKeyHere' \
-H "X-Apple-CloudKit-Request-ISO8601Date: $date" \
-H "X-Apple-CloudKit-Request-SignatureV1: $signature" \
-d "$body"CloudKit模式将绘图显示为具有以下三个属性的自定义类型:
Date/Time
发布于 2021-01-12 20:24:41
我能看到几个问题。所有字段都需要有一个具有value属性的对象。此外,从1970年1月1日起,日期以毫秒的格式保存到CloudKit中。
我从来没有尝试过保存这样的整数数组,但它看起来是正确的。
试试这个:
"fields":{
"date": { "value" : 1610193600000 },
"numbers": { "value" : [14, 26, 38, 45, 46, 13] },
"type": { "value" : 1 }
}https://stackoverflow.com/questions/65675687
复制相似问题