Php 从facebook帐户获取公开帖子
我只是想得到一份facebook上的公开帖子列表,但结果比预期的要难。在遇到几十种不同的方法/答案后,我决定尝试Facebook PHP SDK,但没有结果:Php 从facebook帐户获取公开帖子,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我只是想得到一份facebook上的公开帖子列表,但结果比预期的要难。在遇到几十种不同的方法/答案后,我决定尝试Facebook PHP SDK,但没有结果: $appID = 'MY_APP_ID'; $appSecret = 'MY_APP_SECRET'; $userID = 'TARGET_USER_ID'; FacebookSession::setDefaultApplication($appID, $appSecret); $session = FacebookSe
$appID = 'MY_APP_ID';
$appSecret = 'MY_APP_SECRET';
$userID = 'TARGET_USER_ID';
FacebookSession::setDefaultApplication($appID, $appSecret);
$session = FacebookSession::newAppSession();
try {
$session->validate();
} catch (FacebookRequestException $ex) {
// Session not valid, Graph API returned an exception with the reason.
echo $ex->getMessage();
} catch (\Exception $ex) {
// Graph API returned info, but it may mismatch the current app or have expired.
echo $ex->getMessage();
}
try {
$request = new FacebookRequest($session, 'GET', '/' . $userID . '/feed');
$response = $request->execute();
$graphObject = $response->getGraphObject();
} catch(\Exception $exception) {
print_r($exception);
}
// result always is an empty GraphObject
print_r($graphObject->AsArray());
我的目标是简单地读取$userID的所有公共帖子,但是尽管没有得到任何错误,但是$graphObject总是空的。我已经使用了我的私人facebook账户,并发布了一些公开的测试帖子,但没有结果
我做错了什么?如何获得所有帖子的简单列表
编辑:似乎很多文档/“howtos”都是指一个旧的facebook PHP SDK,其中只有一个类(称为facebook)。有新SDK的例子吗
最后,我唯一的目标是阅读一个用户的帖子(我有完全访问权限),就像你使用twitter一样。如果有更简单的方法,我也可以改用。它不应该是针对多个用户的应用程序-只是一种读取您自己的fb帖子的方式。如果未授权特定用户使用
用户帖子,您无法获得用户配置文件的公开帖子。您也可以使用/me/feed
。更多信息:
您需要做的是:
- 向用户授权
user\u帖子
- 扩展用户令牌并将其存储在数据库中
- 将
/me/posts
与存储的令牌一起使用以获取条目
有关令牌的信息可在以下文章中找到:
您是如何获得这种授权的?我的意思是,如果我不想在我的网站上显示我自己的facebook帖子(例如),我是否可以在我的设置中找到用于应用程序的密钥/秘密?我很容易就能在twitter上做到这一点,我只需要在facebook上重新创建它。“应用程序”不应该被任何用户使用。你必须使用facebook登录:我今天可能非常密集,但我需要的不是每个用户的用户登录,而是一个(永久的)单一用户的facebook订阅源。如果需要登录,则会出现问题。我将浏览这些链接,也许我可以在那里找到信息——但即使是第一个链接也声明令牌的有效期仅为小时/60天。如何在外部网站上实现“永久”页面提要?不可能这么难!但我现在正在浏览链接,也许几分钟后我就能看到答案。我知道。您必须授权您的用户才能访问帖子/订阅源。我重复一遍:需要登录。您是对的,扩展用户令牌有效期为60天,之后您必须刷新它。你不能自动做到这一点。用户提要并不是真正用来在外部网站上显示的,这些条目有点“个人”。如果你想要一个永久的解决方案,只需使用facebook页面。扩展页面标记永远有效。虽然你也可以只使用应用程序访问令牌进行页面订阅。但请确保你了解用户配置文件和facebook页面之间的区别。