2

我在 facebook dev 上找不到任何示例。或者在stackoverflow上,所以我需要发表这篇我认为不需要的帖子。

我有一个使用 facebook JavaScript SDK 让用户登录的网站。当我登录用户时,我使用

FB.login(), scope:{'email, offline_access'}

登录完成后,我得到短暂的访问令牌并将其传递给:

https://graph.facebook.com/oauth/access_token?  
    grant_type=fb_exchange_token&           
    client_id=APP_ID&
    client_secret=APP_SECRET&
    fb_exchange_token=SHORT_LIVED_ACCESS_TOKEN 

所以我得到了长寿的 60 天令牌作为回应。这是在服务器端完成的,我将新的持久令牌与 facebook id 等一起保存在我的数据库中。

现在到我的问题。每天在某个时间,我想使用访问令牌更新我的数据库中的用户数据,我已经读过它可以。但我该怎么做?

我习惯在 FB.login() 之后这样做,但现在当用户不登录时,我不知道如何使用我的持久令牌调用 FB.api?

FB.api(/me....)

问候,克里斯托弗

4

1 回答 1

1

由于您必须在用户未登录时同步/更新信息,因此您将不得不使用服务器端交互。您可以使用您保存的扩展访问令牌并使用setAccessToken()方法将其设置到Facebook PHP SDK中。

$facebook->setAccessToken($extended_access_token);

在此之后,您可以调用$facebook->api(...)方法来执行您打算执行的任务。

于 2013-03-28T13:18:11.073 回答