1

我正在使用PHP Facebook SDK。当我收到用户令牌时,我会尝试按照以下建议扩展它:

$fb_config = array('appId'  => $app_id, 'secret' => $secret);
$facebook = new Facebook($fb_config);
$facebook->setAccessToken($token);

if ($facebook->setExtendedAccessToken() !== false)
    echo "New token is $facebook->getAccessToken()";

当我针对 facebook 调试器*检查令牌(根据我的经验,它通常与传入的令牌不同)时,到期通常是“从不”。但是,对于某些 Facebook 用户,新的扩展令牌仍会在“大约一个小时”后过期。我注意到这种情况发生在较新的 Facebook 用户身上,尽管这可能是巧合。

*对不起,我显然没有在一个问题中发布超过 2 个链接的声誉

4

2 回答 2

0

我想这是这里提到的同样的问题。在我的例子中,他们不是 Facebook 的新用户,所以我想当它发生时没有明确定义的模式。有一个与此相关的开放错误。

虽然,您可以在此处查看 Facebook 工程师的最后回答,但如果用户之前已授予您的应用程序 offline_access 权限,它可能会对您有所帮助。

于 2013-06-06T19:17:07.603 回答
0

作为一种解决方法,我刚刚创建了一个新的、类似的 Facebook 应用程序。将令牌扩展为长期使用的令牌适用于新应用程序。当然,我只使用该应用程序进行登录,因此该解决方案可能并不适合所有人。

于 2013-06-12T21:03:04.073 回答