2011-06-10 37 views
6

我正在使用Facebook API來使用access_token和fql獲取Facebook照片的備份。Facebook中的SSL連接超時fql

使用FQL我得到了用戶

$client = new Facebook(array('appId' => 'xxxx', 'secret' => 'xxxxxx')); 
$fql_albums = "SELECT aid,name from album where owner=$user_Id"; 

$albumId = $client->api(array(
    'method'  => 'fql.query', 
    'access_token' => $user_access_token, 
    'query'  => $fql_albums, 
)); 

的相冊列表獲得這個名單我運行一個查詢來獲取所有相冊中的照片,然後下載專輯後,然後移動到下一張專輯。

只下載了兩張專輯,然後得到一個錯誤如下圖所示

(!) Fatal error: Uncaught CurlException: 28: SSL connection timeout thrown in D:\wamp\www\FrostBox1.0\Facebook\FaceBookConnect\facebook-php-sdk\src\base_facebook.php on line 759

什麼可能我是做錯了什麼?

回答

16
  1. 開放base_facebook.php
  2. 找到CURLOPT_CONNECTTIMEOUT => 10
  3. 將其更改爲CURLOPT_CONNECTTIMEOUT => 30

這就是它!

+0

感謝它的工作! – Asghar 2012-02-14 15:09:11

18

對於我來說,溶液中加入base_facebook.php

$opts[CURLOPT_SSLVERSION] = 3; 

curl_setopt_array($ch, $opts); 

感謝: https://developers.facebook.com/bugs/213367445404472/?browse=search_4eeccca164bbe6357503363

+0

謝謝,固定給我! – asuth 2012-03-29 19:24:10

+0

這個答案解決了我的問題!我認爲某些版本的libcurl默認不會激活SSLv3 – 2012-03-30 17:40:34

+0

這也解決了我的問題,經過很多調試甚至聯繫我們的網絡主機,讓他們更新並使用OpenSSL重新安裝Apache的最新(修補版本)。感謝 – 2012-04-04 15:19:38

0

我解決它通過添加:

CURLOPT_SSLVERSION  => 3, 

行後:

CURLOPT_USERAGENT  => 'facebook-php-3.1', 

在 - base_facebook.php

(這會使捲曲使用SSLv3