2013-03-13 3 views
0

У меня проблема с API-интерфейсом facebook. Я пытаюсь выполнить поиск через сообщения на facebook, отфильтрованные по ключевому слову, но я не могу получить результаты. Когда я копирую свой URL-адрес в браузере, он отлично работает.PHP Facebook graph API поиск cURL - нет результатов

Я думаю, что это как-то связано с моими параметрами cURL, я довольно новичок в этом.

<?php 
$keyword = $_POST['keyword']; 
$graph_url = "https://graph.facebook.com/search?&type=post&locale=en_US&q=".$keyword; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $graph_url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 
curl_close($ch); 

print $result; 
?> 

Каждый знает, что случилось с этим, или любой, кто знает другое решение, чтобы получить результаты поиска от Facebook.

+0

Любые сообщения об ошибках? Что в $ результате? Что такое код ответа HTTP? Или еще лучше, установите CURLOPT_HEADER в 1 и проверьте заголовки ответов. – Scorpil

+0

Нет сообщений об ошибках. Превращение CURLOPT_HEADER в 1 ничего не делает: s Все, что я получаю на белой странице. В результате ничего не получается, вот в чем проблема. Я думал, что мои результаты запроса будут в $ result. Я не знаю о HTTP-ответе. Грц и спасибо заранее. –

+0

Изменить «print $ result;» на "var_dump ($ result)" и проверьте вывод. – Scorpil

ответ

3

По мере того как вы пытаетесь добраться до сайта через HTTPS, вы должны отключить проверку SSL или добавить сертификат для проверки. Подробности здесь: http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

Быстрое исправление:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 

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

http://graph.facebook.com/search?&type=post&locale=en_US&q= 
+0

Спасибо , который сделал это: D Это может пригодиться и для моего приложения Twitter. (Как я могу дать вам плюсы для ответа на мой вопрос?) –