2011-04-07 76 views
5
file_get_contents() [function.file-get-contents]: SSL: Connection reset by peer in 

file_get_contents()在facebook api上播放

file_get_contents("https://api.facebook.com/method/events.invite?eid=" . $eid . "&uids=" . json_encode($uids) . "&access_token=" . $facebook->getAccessToken()) 

它邀请用户选择参加活动的朋友,however我在这篇文章的顶部收到错误。用cURL测试,同样的错误。

测试

我回去用cURL测试了一些东西

$url = "https://api.facebook.com/method/events.invite?eid=157437064317827&uids=" . json_encode($uids) . "&access_token=" . $facebook->getAccessToken(); 

$url2 = urlencode($url); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_URL, $url2); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch) or die(curl_error($ch)); 
curl_close($ch);` 

得到错误:无法解析主机'https%3A%2F%2Fapi.facebook.com ...

+0

如果您使用http而不是? PHP是否支持OpenSSH编译?我记得以前我遇到过这个问题,但我无法完全记得我所做的。 – Raisen 2011-04-07 07:07:52

+0

尝试http,完全相同的错误。我再次乱搞cURL。任何与此有关的经验将有所帮助:) – Evo 2011-04-07 07:08:48

+0

是您的域名支持OpenSSH? – 2011-04-07 07:24:36

回答

2

您是否尝试过使用Graph API,而不是弃用的API?

你可以改为调用:

$event_id = "EVENT_ID"; 
$user_ids = "ID1,ID2,ID3"; // this can be populated however, but that's the syntax 
$graph_url = "https://graph.facebook.com/{$event_id}/invited/{$user_ids}"; 
$graph_contents = file_get_contents($graph_url); 
$data = json_decode($graph_contents); 

希望这有助于。 :)

1

你永远不应该URL编码完整的URL。您应该对URL的特定部分(即查询参数名称和值)进行URL编码,但是整个URL将进行URL编码,这会导致您的代码失败,因为URL的各部分将无法正确分离。