Facebook-> api(“/ me”)引发“CurlException:3:No URL set!”。 [英] Facebook->api("/me") raises "CurlException: 3: No URL set!"
问题描述
我有一个iframe页面标签Facebook应用程序,对于一些用户在一些页面上,引发CurlException:3:没有URL设置!调用$ facebook-> api(/ me)时出现异常。
I have an iframe page tab facebook app that, for some users on some pages, raises a "CurlException: 3: No URL set!" exception when calling $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变量,并将其存储到会话变量中以供进一步使用。
NOTE : The access token is given by the Javascript sdk as a GET variable as received on the app home page and I store it into a session variable for further uses.
推荐答案
使用IPV6您应该在您的facebook api中包括以下行。
by problems with IPV6 you should have included the following line in your facebook api.
Facebook::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
但是这个选项只适用于php最大版本5.3
however this alternative only works with version 5.3 of php largest
解决方案:
if((phpversion()>= 5.3))
{
Facebook::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
}
这篇关于Facebook-> api(“/ me”)引发“CurlException:3:No URL set!”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!