2015-08-30 1 views
1

У меня есть приложение, использующее CloudKit, и я пытаюсь создать простой веб-интерфейс, чтобы вытащить данные из CloudKit, чтобы пользователи могли просматривать информацию. Вход в систему работает отлично, но я не могу найти никаких образцов о том, как структурировать запросы для записей/запросов и записей/поиска.Захват записей CloudKit по имени и запросу в PHP

Для записи/поиска, я отправляю к подобной URL:

https://api.apple-cloudkit.com/database/1/iCloud.com.[mycontainer]/development/private/records/lookup?ckAPIToken=[myToken]&ckSession=[myAuthenticatedSession] 

Однако, используя скручиваются и PHP, я не могу показаться, чтобы получить «запись» POST правильно. Сообщения об ошибках не содержат достаточных подробностей. Apple не предоставила никаких образцов в документации. Каков правильный способ записи POST для получения действительного ответа от CloudKit?

ответ

1

Вы можете увидеть множество примеров и ясное объяснение Here.

Пост запрос должен быть в JSON, например:

{ 
    "operationType":"update", 
    "record" : { 
     "recordType":"Artist", 
     "fields": { 
      "firstname" : {"value" : "Chen"}, 
     } 
     "recordName" : "Mei Chen" 
    }, 
} 

это JSON объект, чтобы сделать операцию. То, что вы ищете, - это поиск, для этого требуется recordName и, необязательно, desiredKeys, оставив desiredKeys пустым, даст им все. Так что ваш JSON будет выглядеть следующим образом:

{ 
    "recordName":"Mei Chen" 
} 

в PHP вы можете сделать это с массивом легко

$request = array(); 
$request['recordName'] = "Mei Chen"; 
$request_json = json_encode($request); 

с помощью своей $request_json вы можете чем отправить это с помощью PHP локон, например, как:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $request_json);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
    'Content-Type: application/json',                     
    'Content-Length: ' . strlen($request_json))                  
);    
+1

Указанная ссылка больше не приводит к приведенному примеру. –