我正在使用New Graph API php sdk开发一个facebook iframe应用程序。我正在使用基本代码来显示我的名字。但它没有返回任何价值。有人请帮助我。
<?php
include_once 'facebook.php';
include_once 'config.php';
$facebook = new Facebook(array('appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
'cookie' => true,));
$session = $facebook->getSession();
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
echo "Hello " . $uid . "<br />"; // This is displayed with my User Id
$me = $facebook->api('/me');
echo "Hello " . $me['name'] . "<br />"; // This is not displayed.
} catch (FacebookApiException $e) {
error_log($e);
}
}
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
为什么我的名字没有显示?
修改1
如果我使用New Graph API facebook sdk zip文件夹附带的示例代码,我会收到以下错误:
Fatal error: Uncaught CurlException: 6:
Could not resolve host: graph.facebook.com;
No data record of requested type thrown in
C:\xampplite\htdocs\newtest\facebook.php on line 513
第513行是:
$e = new FacebookApiException(array(
'error_code' => curl_errno($ch),
'error' => array(
'message' => curl_error($ch),
'type' => 'CurlException',
),
));
请解释我的错误。我在谷歌搜索错误解释,但我无法获得太多信息。我犯的错误是什么?
答案 0 :(得分:6)
尝试在你调用它的try块中编写以下代码($ me = $ facebook-&gt; api('/ me');)api。
Facebook :: $ CURL_OPTS [CURLOPT_SSL_VERIFYPEER] = false; Facebook :: $ CURL_OPTS [CURLOPT_SSL_VERIFYHOST] = 2;
答案 1 :(得分:1)
让我们通过以下脚本来查看错误:
try {
$uid = $facebook->getUser();
$fbme = $facebook->api('/me');
} catch (FacebookApiException $e) {
print_r($e);
}
错误:
[error] => Array
(
[message] => Failed to connect to 66.220.147.27: Permission denied
[type] => CurlException
)
传出连接由服务器防火墙过滤。有关如何允许连接外部主机的其他信息,请参阅您的托管支持。
请注意,您也可以禁用防火墙,一切都会正常运行。