如何获取“任何有效的access_token”阅读公共帖子?

问题描述:

我需要从我的Facebook应用程序中显示最新的5篇文章,并且我需要避免运行任何服务器端代码。下面的工作,直到今天上午:如何获取“任何有效的access_token”阅读公共帖子?

var id = myappid; 
var limit = 5; 
var div = document.getElementById('facebook_posts'); 
FB.init(); 
FB.api('/'+id+'/posts', {'limit': limit}, function(response) { 
if (response && response.data && response.data.length) { 
    div.innerHTML = ''; 
    for (var i=0, l=response.data.length; i<l; i++) { 
     var post = response.data[i]; 
     if (post.message && post.link) 
      div.innerHTML += '<a href="' + post.link + '">' + post.message + '</a><br/>'; 
     } 
    } else { 
     div.innerHTML = 'Error loading facebook posts'; 
    } 
}); 

我没有任何改变,但现在的Facebook返回“OAuthException”消息“来请求该资源的访问令牌是必需的。”。 The API says我需要“任何有效的access_token才能看到公众”。那么,如何在不显示验证弹出窗口的情况下获得“任何有效的access_token”?

最简单的事情就是使用为管理员用户创建的脱机访问令牌。 Look here to find out how to create one

+0

请注意,如果你这样做,你需要在网页中嵌入访问令牌,这将允许任何访问网页的人看到它,复制它并重用它。您可能对此没有任何问题,但需要注意并注意,您不会授予令牌任何更改权限的权限,特别是因为您明确打算避免使用服务器端编程。 – Femi

+0

不幸的是,[离线访问令牌已被弃用](https://developers.facebook.com/roadmap/offline-access-removal/),因此您可能需要查看其他内容。 – zoul

您还可以使用Facebook图形API资源管理器使用的令牌。但是,如果将令牌嵌入到页面中,请不要从个人帐户中获取一个。

+0

这是否仍然有效?对我来说,看起来像Graph API Explorer现在还需要您请求与您的用户帐户关联的短期访问令牌。 – zoul