Facebook access_token:一旦用户接受我的应用,我怎么得到它?

hok*_*tar 5 facebook access-token

当用户第一次访问我的包含facebook应用程序的网站时,需要他允许它,并且他会被要求这样做,然后我得到了我可以转换为access_token的代码.到现在为止还挺好.

但是,一旦用户访问过该网站,我该如何获取令牌?只要这个令牌形式第一次激活一切都很好.但是,当用户一周前已经允许该应用并且仅再次访问我的页面时,如何获得另一个令牌?

Jen*_*ens 0

我使用cookie方法将access_token存储在用户的计算机上。

FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
Run Code Online (Sandbox Code Playgroud)

在您的 facebook.php 文件中,您需要将 cookieSupport 设置为 true:

private $cookieSupport = true;
Run Code Online (Sandbox Code Playgroud)

或者使用此处找到的 get_facebook_cookie 函数:使用 JavaScript SDK 进行单点登录

然后,access_token 存储在名为“fbs_APPID”的 cookie 中(带有过期时间)。如果您希望 cookie 持续几个小时以上,您需要请求扩展权限“offline_access”:

使您的应用程序能够随时代表用户执行授权请求。默认情况下,大多数访问令牌会在短时间内过期,以确保应用程序仅在用户主动使用应用程序时才代表用户发出请求。此权限使我们的 OAuth 端点返回的访问令牌长期有效。