2011-04-07 77 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的各部分將無法正確分離。