Я использую превосходный Parse в качестве хранилища данных, но мне нужно получить к нему доступ через PHP (как, возможно, нерелевантный бит детали – мне нужно получить к нему доступ через PHP, чтобы скребки Facebook распознавали динамически генерируемые теги на моей странице).
В Parse есть Rest API и основные инструкции по их использованию. Например, для извлечения объекта:
curl -X GET \
-H "X-Parse-Application-Id: [Мой идентификатор приложения]" \
-H "X-Parse-REST-API-ключ: [Мой ключ API Parse Rest]] \
https://api.parse.com/1/classes/moods/
К сожалению, я понятия не имею, как интегрировать это с примерами PHP Curl, которые я видел в Интернете. Я собираю:
curl_setopt ($ ch, CURLOPT_USERPWD,
.. может быть задействован. Как можно:
curl_setopt ($ ch, CURLOPT_URL, $ Url);
но я мог бы уйти. Мне очень жаль, что я не могу понять это сам, но я думаю, что это все еще правильный вопрос, поскольку он очень запутан для тех, кто раньше не использовал Curl / PHP. В основном – я ищу информацию как основную, как для размещения цитируемого примера в документах Parse …
заранее спасибо
РЕДАКТИРОВАТЬ:
Привет всем, вот решение, как я его настроил. Спасибо дебианек за то, что я пошел в правильном направлении.
if ($_GET['id']) { $imageId = $_GET['id']; MyApplicationId = '[ID]'; $MyParseRestAPIKey = '[API Key]'; $url = 'https://api.parse.com/1/classes/images/'.$imageId; $headers = array( "Content-Type: application/json", "X-Parse-Application-Id: " . $MyApplicationId, "X-Parse-REST-API-Key: " . $MyParseRestAPIKey ); $handle = curl_init(); curl_setopt($handle, CURLOPT_URL, $url); curl_setopt($handle, CURLOPT_HTTPHEADER, $headers); curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($handle); curl_close($handle); $array = json_decode($data); $title = $array->title;
..и так далее. Надеюсь, это поможет.
Поместите его в заголовки
$headers = array( "X-Parse-Application-Id: $MyApplicationId", "X-Parse-REST-API-Key: $MyParseRestAPIkey" ); $handle = curl_init(); curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
<?php $url = 'https://api.parse.com/1/classes/GameScore'; $appId = 'YOUR_APP_ID'; $restKey = 'YOUR_REST_KEY'; $headers = array( "Content-Type: application/json", "X-Parse-Application-Id: " . $appId, "X-Parse-REST-API-Key: " . $restKey ); $objectData = '{"name":"Adarsh", "age":"26"}'; $rest = curl_init(); curl_setopt($rest,CURLOPT_URL,$url); curl_setopt($rest,CURLOPT_POST,1); curl_setopt($rest,CURLOPT_POSTFIELDS,$objectData); curl_setopt($rest,CURLOPT_HTTPHEADER,$headers); curl_setopt($rest,CURLOPT_SSL_VERIFYPEER, false); curl_setopt($rest,CURLOPT_RETURNTRANSFER, true); $response = curl_exec($rest); echo $response; print_r($response); curl_close($rest); ?>
используйте эту функцию для всех объектов insert, объект, который должен быть создан как ассоциативный массив с правильным индексом
function insertObject($classname,$object){ $ appId="xxxxx"; $restKey="xxxx" $url = 'https://api.parse.com/1/classes/'.$classname; $rest = curl_init(); curl_setopt($rest, CURLOPT_RETURNTRANSFER, 1); curl_setopt($rest, CURLOPT_FRESH_CONNECT, FALSE);//use cache if available curl_setopt($rest, CURLOPT_TIMEOUT, 10); //10 sec timeout curl_setopt($rest,CURLOPT_URL,$url); curl_setopt($rest,CURLOPT_PORT,443); curl_setopt($rest,CURLOPT_POST,1); curl_setopt($rest,CURLOPT_POSTFIELDS, json_encode($object)); curl_setopt($rest,CURLOPT_HTTPHEADER, array("X-Parse-Application-Id: " . $appId, "X-Parse-REST-API-Key: " . $restKey, "Content-Type: application/json")); curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);//to avoid certificate error $response = curl_exec($rest); echo $response ; }