我在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....)
问候,
克里斯托弗
最佳答案
当用户未登录时,由于必须同步/更新信息,因此必须使用服务器端交互。
您可以使用保存的Extended Access Token,并使用Facebook PHP SDK方法将其设置为setAccessToken()。
$facebook->setAccessToken($extended_access_token);
之后,您可以调用$ facebook-> api(...)方法来执行您打算执行的任务。