从Facebook保存accessToken,但它会重置

时间:2011-06-10 20:37:47

标签: facebook facebook-graph-api facebook-c#-sdk

我正在尝试使用Facebook的C#包装器。如果我验证用户并获得accessToken,我想存储accessToken,以便我可以访问我自己的个人Facebook内容(如照片等)。但是,accessToken会在一段时间后失效。我怎样才能确保它没有?

3 个答案:

答案 0 :(得分:2)

由于各种原因,用户的访问令牌可能会变为无效。在大多数情况下,如果超过“过期”字段指定的时间,它们可能会过期(默认情况下,访问令牌的生命周期为2小时)。许多开发人员没有意识到,如果用户更改了密码注销取消授权,访问令牌也会过期应用程序仪表板上的应用程序。您的应用处理此类情况非常重要。如果您的访问令牌过期,则需要重新获取有效的访问令牌。 [1]

答案 1 :(得分:2)

如果您请求并获取offline_access扩展权限,那么您将收到一个非过期访问令牌。甚至这些非过期的离线访问令牌也可以通过emaillenin描述的一些操作(密码更改,应用删除/取消身份验证)无效

答案 2 :(得分:0)

我在授权我的网络应用后存储Facebook应用/用户访问令牌。

稍后,当用户重新登录我的WebApp帐户时,我会检查我的appDatabase中的用户访问令牌是否与php-sdk一起调用accessToken,如下所示:

$facebook = new Facebook($SimpleConnectConfig);    
if ($facebook->getAccessToken() == $databaseFBuserAccessToken){
echo '<a href="'.$facebook->getLoginUrl($appArrayPermsScope).'">
Link a Facebook Account
</a>;
}else{
echo '$facebook->api($user.'/permissions','DELETE');';
}

取消识别我的Facebook应用程序