首先第一件事情,你需要保护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天
个
资源:
用户配置文件是一种 “私人”,他们通常不希望在公众就这样展现出来。您可以使用用户访问令牌阅读帖子,但即使您使用的是扩展版,也只会持续60天,然后您必须手动刷新它。 – luschn
[类似这样](http://retrogram.tk/demos/adamsposts/)(使用扩展访问令牌)会对你有用吗? –
是的亚当,我相信这样的事情会很好。我怎样才能做到这一点? – user3041174