存储facebook会话数据

时间:2011-03-14 17:06:42

标签: php facebook

我正在使用Facebook PHP SDK并在用户登录时存储会话...

if ($session = $facebook->getSession()) {
    mysql_query("UPDATE fb_session SET app_session = '" . addslashes(serialize($session)) . "' WHERE user_id = " . $uid);
}

我有一个运行的cron脚本,它通过以下方式使用facebook API作为用户:

$facebook->setSession(unserialize($row['app_session']), false);

将脚本设置为正确的用户。

问题是当用户退出Facebook时,会话不再有效并要求他们再次登录。我有一个cron脚本,因此没有用户交互,这就搞砸了。

我是想存储不同的东西吗?

2 个答案:

答案 0 :(得分:2)

你想做什么?

如果您只想代表用户发布,那么只需要publish_stream权限并将用户ID存储在您的数据库中。
之后,您可以在不“获取会话”的情况下发布(即没有$facebook->setSession(...))。

如果您要执行其他任务,请获取offline_access权限,access_token与用户ID一起存储在您的数据库中,然后执行您的任务也没有setSession

答案 1 :(得分:0)

是的,当您的用户与您的应用程序建立联系时,您需要申请offline_access权限,这会为您提供永久而非临时访问权限。

相关问题