在我当前的项目中,我使用api('/me','GET')
来检索当前登录用户的用户数据。我有一个我的项目的同步选项给Facebook用户,我也可以停用同步,问题是我登出我的Facebook并更改Facebook用户并再次同步,它仍然返回以前的用户数据。
以下是代码片段:
$user_profile = $facebook->api('/me','GET');
$fname = $user_profile["first_name"];
我使用$fname
显示同步后Facebook用户的名字,方案是:
*我的项目现已同步到我的Facebook用户,然后我退出我的Facebook并重新同步我的项目。然而它显示了我以前用户的第一个名字。
我似乎无法理解为什么它会保留以前用户的用户数据,唯一一次与新Facebook用户同步的时候是我退出并重新登录我的网站项目。我顺便使用PHP SDK。
答案 0 :(得分:1)
这可能是因为access_token
仍然有效。令牌通常保存在cookie中,因此即使用户退出Facebook,该cookie仍然可用,并且令牌保持有效,因为它没有链接到登录或退出Facebook的用户,而是与您的应用程序直到它过期了。
因此,您可以手动删除Cookie,以便您的应用在用户注销后无法访问该Cookie。或者,您可以通过向“/ me / permissions”发送DELETE
请求来使访问令牌无效。
我不是100%肯定,但在使用JS SDK时这个过程是自动的。