【问题标题】:trying to use use facebook-php-sdk library to retrive facebook posts尝试使用 facebook-php-sdk 库来检索 facebook 帖子
【发布时间】:2013-08-30 12:40:20
【问题描述】:

我正在尝试将 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).

我在这里错过了什么?

【问题讨论】:

标签: facebook facebook-php-sdk


【解决方案1】:

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

【讨论】:

  • 我正在阅读 facebook-login 文档,但我有点困惑。它是在描述如何创建一个实际的登录按钮,还是您可以编写代码来登录某人的帐户?
  • 您创建一个登录按钮/链接,让用户点击它——然后重定向到或调用 Facebook 登录对话框,用户在该对话框中为您的应用授予适当的权限。
  • 有没有办法解决这个问题?我不想要任何登录按钮。我只希望匿名用户访问我的网站并查看我以我选择的格式提取和发布 Facebook 数据的页面。
  • 取决于您要显示的帖子类型(来自页面或用户),以及它们是否以某种方式受到公共响应的限制。
  • 很多人的墙不被公众看到,所以如果你想提取任何有用的 Facebook 数据,你需要某种形式的手动登录/身份验证。
【解决方案2】:

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

为了获取您的提要,您必须使用令牌。要检索该令牌,请使用此 URL 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

            }

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多