SammyK LaravelFacebookSdk - 无法获取访问令牌


SammyK LaravelFacebookSdk - can't obtain an access token

我搜索了Laravel Facebook SDK,我找到了这个适用于Laravel 4.2(我的Laravel应用程序版本)的软件包。我使用它只是为了获取我的 facebook 页面帖子,但我遇到了问题,我的访问令牌每 2 小时过期一次,或者在某些情况下由于其他原因(如 facebook 注销等)而过期。

我发现有两种方法可以处理过期的访问令牌,要么扩展访问令牌,要么使用旧的访问令牌请求新的访问令牌。

问题是如何请求新的访问令牌,因为我将其存储到我的数据库中,并且我需要一直获取我的 Facebook 页面帖子?

我已经按照这个说明进行操作,但对我来说它不起作用。

当我使用此代码时:

try
{
    $token = Facebook::getTokenFromRedirect();
    echo "Success<br>";
    print_r($token);
}
catch (FacebookQueryBuilderException $e)
{
    // Failed to obtain access token
    echo 'Error:' . $e->getMessage();
}

我在屏幕上看到的唯一东西是Success,仅此而已,就像$token是空的一样。

我还检查了包含在SammyK LaravelFacebookSdk中的Facebook查询生成器,并尝试使用getTokenFromCanvas()而不是getTokenFromCanvas()但是我收到此错误:Method getTokenFromCanvas does not exist

有什么想法可以完成这项工作吗?

默认情况下,Facebook 将返回一个用户访问令牌,该令牌将在 2 小时后过期。可以将其扩展为将持续 60 天的长期访问令牌。

在Laravel Facebook SDK 1.2中获得AccessToken实体后,您可以扩展它,如示例中所示:

try {
    $token = $token->extend();
} catch (SammyK'FacebookQueryBuilder'FacebookQueryBuilderException $e) {
    dd($e->getPrevious()->getMessage());
}

在您的 GitHub 问题中,您提到了:

我想要实现的是从我的Facebook页面获取帖子

您可以使用页面访问令牌来抓取主页帖子。可以从/me/accounts终结点获取页面访问令牌。

如果使用长期用户访问令牌获取页面访问令牌,则页面访问令牌将永不过期,因此最好将其存储在数据库中以从页面中提取帖子。

详细了解如何处理访问令牌。祝你好运!:)