【发布时间】:2013-09-09 07:28:37
【问题描述】:
我有一个 iframe 页面选项卡 Facebook 应用程序,对于某些页面上的某些用户,它会引发“CurlException:3:未设置 URL!”调用 $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 变量提供,我将其存储到会话变量中以供进一步使用。
【问题讨论】:
-
忘记提及在这些情况下出现的以下警告:“警告:curl_setopt_array() [function.curl-setopt-array]:数组键必须是 CURLOPT 常量或 (.. .)/base_facebook.php on line 963" 在我看来,它就像 Facebook api 中的一个错误,它试图为 curl_setopt() 官方文档 (php.net/manual/fr/function.curl-setopt.php) 中不存在的选项 CURLOPT_IPRESOLVE 设置一个值
-
现在注释了使用 CURLOPT_IPRESOLVE 作为 curl_opt 的行,我得到以下异常:“CurlException: 7: Failed to connect to 2a03:2880:2110:3f07:face:b00c:0:1:网络无法访问”在我看来,某处的 Facebook 服务器会导致问题。不过,不知道这是否有意义或我应该如何处理。
标签: facebook curl facebook-php-sdk