9

我正在使用出色的Parse作为数据存储,但需要通过 PHP 访问它(作为一个可能无关紧要的细节 - 我必须通过 PHP 访问它,以便 Facebook 抓取工具识别我页面上动态生成的标签)。

Parse 有一个 Rest API,以及如何使用它们的基本说明。例如,要检索一个对象:

curl -X GET \
-H "X-Parse-Application-Id: [My application ID]" \
-H "X-Parse-REST-API-Key: [My Parse Rest API key]" \
https://api .parse.com/1/classes/moods/

不幸的是,我不知道如何将它与我在网上看到的 PHP Curl 示例集成。我收集:

curl_setopt($ch, CURLOPT_USERPWD,

..可能涉及。可能:

curl_setopt($ch, CURLOPT_URL, $Url);

但我可能会走得很远。我真的很抱歉自己无法弄清楚这一点——但我认为这仍然是一个有效的问题,因为它让那些以前没有使用过 Curl/PHP 的人感到非常困惑。基本上 - 我正在寻找基本的信息,就像在哪里放置 Parse 文档中引用的示例......

提前致谢

编辑:

大家好,这是我配置的解决方案。感谢 debianek 让我朝着正确的方向前进。

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;            

..等等。希望有帮助。

4

3 回答 3

6

将其放入标题中

$headers = array(
    "X-Parse-Application-Id: $MyApplicationId",
    "X-Parse-REST-API-Key: $MyParseRestAPIkey"
);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
于 2012-07-31T10:32:50.130 回答
4
 <?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);  
 ?>  
于 2014-05-02T04:57:49.757 回答
1

将此函数用于所有对象插入,该对象应创建为具有正确索引的关联数组

 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 ;

}
于 2014-07-19T09:54:22.210 回答