-1

我正在尝试将 facebook 帖子拉到我的网站上,以便我可以以自己的格式保存和显示它。我正在尝试使用 Facebook 开发人员页面上的 facebook-php-sdk 库。在需要库后,我使用了以下代码:

$facebook = new Facebook(array(
'appId'  => 'MY APP ID',
'secret' => 'MY APP SECRET',
));

// Get User ID
$user = $facebook->getUser();
print_r($facebook);
print_r($user);

$facebook 中的 print_r 向我展示了一个完整的 facebook 对象,所以我知道它被正确创建了。

object(Facebook)#325 (9) { ["sharedSessionID":protected]=> NULL ["appId":protected]=> string(15) "[MYAPPID]" ["appSecret":protected]=> string(32 ) "[MYAPPSECRET]" ["user":protected]=> int(0) ["signedRequest":protected]=> NULL ["state":protected]=> NULL ["accessToken":protected]=> string( 48) "[MYAPPID]|[MYAPPSECRET]" ["fileUploadSupport":protected]=> bool(false) ["trustForwarded":protected]=> bool(false) }

(我从上面的引用中取出了我的应用程序 ID 和应用程序密码)。

但是,将 print_r 转换为 $user 显示

int(0).

我在这里想念什么?

4

2 回答 2

1

“我在这里错过了什么?” 对用户进行身份验证。您正在呼叫getUser(),但在您进行身份验证之前,Facebook 不知道要获取哪个用户的详细信息。我也不确定你为什么错过它,因为它是 PHP SDK 的 GitHub 存储库上的示例。

于 2013-08-30T12:50:52.750 回答
0

我不知道这个getUser()函数是什么,但是你要做的非常非常简单,你甚至不必使用一个巨大的库(我更喜欢使用我可以轻松检查的,或者我写的,如果我管理)。它看起来像这个问题的副本,或者相反。无论如何,我也在这里重复一遍:

为了获得您的提要,您必须使用令牌。要检索该令牌,请使用此 URL 进行 cURL 调用https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET

假设你已经得到它并且你调用了它$token。用它来获取你的提要。

$pageFeed  = someCURLfunction("https://graph.facebook.com/{$yourid}/feed?{$token}");
//you don't need a login. You have to get an auth token though

    $jsonStuff = json_decode($pageFeed); //it's a json object. You need to decode it

           foreach ($jsonStuff as $feed)
           { 
            //loop through it and
            // finish it here

            }
于 2013-08-30T23:11:14.860 回答