我使用新的 Facebook API 编写了几行非常简单的 Facebook 应用程序:
<pre>
<?php
require 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '117676584930569',
'secret' => '**********', // hidden here on the post...
'cookie' => true,
));
var_dump($facebook);
?>
但它给了我以下输出:
http://apps.facebook.com/woolaladev/i2.php会放弃
object(Facebook)#1 (6) {
["appId:protected"]=>
string(15) "117676584930569"
["apiSecret:protected"]=>
string(32) "**********" <--- just hidden on this post
["session:protected"]=>
NULL <--- Session is NULL for some reason
["sessionLoaded:protected"]=>
bool(false)
["cookieSupport:protected"]=>
bool(true)
["baseDomain:protected"]=>
string(0) ""
}
由于某种原因, session 为 NULL,但我已登录并可访问我的主页和个人资料并在 Facebook 上运行其他应用程序(以查看我已登录)。
我正在关注以下示例:
http://github.com/facebook/php-sdk/blob/master/examples/example.php
http://github.com/facebook/php-sdk/blob/master/src/facebook.php
(使用原始 URL 下载: wget http://github.com/facebook/php-sdk/raw/master/src/facebook.php )
在 Dreamhost.com 和 netfirms.com 上尝试了两家托管公司,结果是一样的。
最佳答案
session 打开并不意味着您已登录 Facebook。
session 需要在相关网站上打开,这意味着您应该在您的网站中添加一个“与facebook连接”按钮并单击它!然后重新加载页面,您将获得 session :)
$session = $facebook->getSession();
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$friends = $facebook->api('/me/friends'); //array of friends - for every friend you get id & name
} catch (FacebookApiException $e) {
error_log($e);
}
}
关于authentication - 无法与 Facebook 应用程序进行 session ? (使用其图形 API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2795505/