【问题标题】:Facebook Profile Posts on Website网站上的 Facebook 个人资料帖子
【发布时间】:2014-01-30 08:25:17
【问题描述】:

寻找如何实现这一目标的建议。

我想在我的网站上显示一个 FB 个人资料页面(个人页面)(不是粉丝页面)。 我试过使用徽章,但它并没有显示我墙上的所有帖子,我不在乎它的外观。 我尝试使用 rss,但它显示 fb 通知,而不是状态更改或发布的照片​​。

我之后基本上是想办法在我的网站上实现我的 Facebook 状态帖子,而不是将其限制在最后一个帖子。

有什么想法吗?我找到了一些粉丝页面的方法,但没有找到个人资料页面。 网站是普通网站,不是wordpress等。

【问题讨论】:

  • 用户配置文件是一种“私人”,它们通常不打算像那样出现在公众面前。您可以使用用户访问令牌阅读帖子,但即使您使用的是扩展的,它也只能持续 60 天,然后您必须手动刷新它。
  • Something like this(使用扩展访问令牌)对您有用吗?
  • 是的,亚当,我相信像这样的东西会很好用。我该怎么做?

标签: javascript facebook


【解决方案1】:

首先,你需要保护access_token不被暴露,这需要PHP

我们将使用cURL 获取提要(您也可以使用Facebook-PHP-SDK):

<?php

    $user_access_token = '{access_token}'; // A valid user access token or app token
    $userName = '{userName}'; // Facebook username
    $limit = '25'; // Limit posts
    $jsonFeed = 'https://graph.facebook.com/'.$userName.'/posts?fields=id&limit='.$limit.'&access_token='.$user_access_token;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $jsonFeed);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    $getPosts = curl_exec($ch);
    curl_close($ch);

    $data = json_decode($getPosts); // decode json

?>

<!-- Basic/required HTML tags, head, style etc.. -->
<!-- body -->

<div id="container">
<h1 class="title">My Timeline Feed</h1>
<?php

      foreach($data->data as $data){

                       $userid_postid = $data->id;
                       $postid = substr($userid_postid, strpos($userid_postid, "_") + 1); // remove the userid because we can't use {userId}_{postId}
                       print '<div class="post-warp"><div class="fb-post" data-href="https://www.facebook.com/'.$userName.'/posts/'.$postid.'"></div></div>';
      }  
?>
</div>
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<!-- / body -->
<!-- / Basic/required HTML tags -->

记住你需要一个扩展的access_token,否则你必须每2小时重新生成一个token,扩展的access_token可以工作60天

资源:

【讨论】:

  • 谢谢亚当。你的样品正是我所追求的。我假设我不能只是复制和粘贴您提供的代码而不更改某些内容以反映我的 FB 页面,但是我该更改什么?
  • 这样做网站会自动拉入新帖子吗?我将从您提供的链接开始阅读。虽然它让我感到困惑,但如果我能像你的样品一样得到它,我会很高兴。
  • 你必须改变$user_access_token & $userName,它应该可以工作
  • 到目前为止,我在上面写着“我的时间线提要”的地方找到了它。我想我卡在整个访问令牌的事情上,因为我不理解它,所以我必须更多地阅读它来了解如何获得一个。
  • 好的,您可以使用具有权限read_streamuser_statususer_photosGraph API Explorer 生成token,您可以尝试var_dump( $getPosts ); 以查看Facebook 图表返回的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多