如何在没有access_token的情况下显示我网站上的facebook订阅源消息


How to show facebook feed messages from my site without access_token?

我有一个facebook网站(网站,而不是profil墙),我想在网页上显示消息源。如果我使用,这已经很好了

https://graph.facebook.com/177610425663218/feed

但我需要一个访问权。使用图形资源管理器,我可以生成一个临时令牌。

我知道我可以创建一个OAuth,但我不希望我网页的每个访问者都登录到facebook只是为了查看提要。肯定还有别的办法。。。也许用PHP代替Javascript?

https://developers.facebook.com/docs/plugins/提供了可以嵌入的所有插件的列表。但是,如果您想向非fb登录的用户显示提要,这是不起作用的。

要解决您的问题,请使用服务器端脚本访问并显示此提要。如果此提要来自FB页面,则您需要具有"manage_pages"权限的访问令牌。使用它,您可以使用以下(PHP)代码获取内容:

$response=file_get_contents("https://graph.facebook.com/".$id."/feed&access_token=".$facebook_access_token);
$response_array=json_decode($response,true);
// $id: Page ID

您还可以通过添加诸如since、limit、until等分页参数来自定义此查询。请参阅https://developers.facebook.com/docs/reference/api/以获取文档。

这种方法有以下优点:

  • 您的访问令牌在服务器上是安全的,对公众不可见
  • 即使是未登录的用户也可以看到你的订阅源
  • 您可以自定义提要的外观,因为您可以控制UI

缺点:

  • 需要您编写代码并积极维护一段代码,该代码除了充当代理之外什么都不做。每次FB更改其对象的结构时,您都需要更改此代码

您可以使用https://www.facebook.com/feeds/page.php?id=<your-page-id>&format=json。它返回一个json对象,不需要访问令牌。

您还可以使用不同的格式,如xml和rss20。

希望这能有所帮助。

尽管这个问题已经得到了回答。我希望这能帮助其他人。

我一直在为一个内部CMS开发一个插件,该插件需要直接从用户url中提取facebook订阅源。这就是我的结局。

$url = 'url_pulled_from_database';
$url = str_replace('http://www.', 'http://graph.', $url);
$get_id = file_get_contents($url);
$get_id = json_decode($get_id, true);   
$fbID = $get_id['id'];
//THEN CALL THE FUNCTION        
fb_parse_feed($fbID, $maxnumber);

fb_parse_feed函数不值得称赞,但你可以在这里找到它https://gist.github.com/banago/3864515

一旦实现,只需使用url,它就可以在任何公共页面上发挥魅力。

我认为你再也不能在没有访问令牌的情况下做到这一点了,但请在这里查看我的答案,了解获取访问令牌和检索所需提要的详细步骤。

在windows8商店应用程序中执行此操作,这似乎可以使用

url="https://graph.facebook.com/me?fields=feed&access_token="+fbtoken;