2011-03-10 45 views
1

我試圖用(節點)創建日期參數來檢索視圖。但是,當我通過cURL發送它時,我似乎無法使其正常工作。這裏是我的代碼:發送參數到Drupal視圖(JSON,cURL)

$method = 'views.get'; 
$hash = hash_hmac('sha256', $timestamp .';'.$domain .';'. $nonce .';'. $method, $api_key); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_URL, 'http://site.com/services/json'); 

$date = $_GET['date']; 

$data = array(
    'method' => '"'. $method .'"', 
    'hash' => '"'. $hash .'"', 
    'domain_name' => '"'. $domain .'"', 
    'domain_time_stamp' => '"'. $timestamp .'"', 
    'nonce' => '"'. $nonce .'"', 
    'sessid' => '"'. $sessid .'"', 
    'view_name' => '"frontpage"', 
    'args' => '"'. $date .'"' 
    ); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 

$json_result = curl_exec($ch); 

我莫名其妙地猜測它處理指定參數時,它返回[]與,當我刪除「ARGS」 => ....它與通配符設置運行。

+0

您究竟通過HTTP公開您的視圖是什麼? – 2011-03-11 08:16:13

回答

1

您是否嘗試過使用Views datasource?它打印出JSON,你仍然可以將一個參數傳遞給你的視圖。

我們不知道你如何配置在您查看的日期參數的方式,但可以肯定的是視圖允許您配置日期參數:

example views date argument

下面是瀏覽一個例子日期範圍。

example views date argument

,您可以繼續使用CURL在使用數據源視圖,以及從您的視圖獲取JSON。然後,您可以將日期傳遞到請求中,例如:

curl_setopt($ch, CURLOPT_URL, 'http://site.com/myjsonview/2011-01-11--2011-03-11');