Facebook-> api(“/ me”)引发“CurlException:3:没有设置URL!”

时间:2013-09-09 07:28:37

标签: facebook curl facebook-php-sdk

我有一个iframe页面标签Facebook应用程序,对于某些页面上的某些用户,会引发“CurlException:3:No URL set!”调用$ facebook-> api(“/ me”)时的异常。

以下是代码:

$config = array();
$config['appId'] = APPID;
$config['secret'] = APPSECRET;
$config['cookie'] = true;
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);

$facebook->setExtendedAccessToken();

$access_token = $facebook->getAccessToken();

if (isset($_GET['tk'])&&($_GET['tk']!="")){
$_SESSION['appat'] = $_GET['tk'];
}

if ($_SESSION['appat']!="")
$access_token = $_SESSION['appat'];

$facebook->setAccessToken($access_token);       

$user = $facebook->getUser();

if ($user) {
    try {
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        trace("exception $e");
    }
}

注意:访问令牌由Javascript sdk作为应用主页上收到的GET变量提供,我将其存储到会话变量中以供进一步使用。

1 个答案:

答案 0 :(得分:0)

对于IPV6的问题,您应该在facebook api中包含以下行。

Facebook::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;

然而,此替代方案仅适用于php最大版本的5.3版本

溶液:

if((phpversion()>= 5.3))
{ 
   Facebook::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4; 
}