试图使用facebook-php-sdk库来检索facebook帖子

时间:2013-08-30 12:40:20

标签: facebook facebook-php-sdk

我正在尝试将Facebook帖子拉到我的网站上,以便我可以保存并以我自己的格式显示它。我正在尝试使用Facebook Developer页面上的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);

print_r进入$ facebook向我展示了一个完整的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) }

(我从上面的引文中提取了我的app id和app密码。)

然而,print_r进入$ user显示

int(0).

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

要获取Feed,您必须使用令牌。要检索该令牌,请使用此网址https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET

进行cURL调用

假设你已经得到它并且你称之为$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

            }