我想生成一个永远不会过期的令牌。
我有"manage_pages"权限,如果用户有"粉丝页面",令牌将永远不会过期。
但是,如果用户没有创建任何粉丝页面,令牌将在2个月后过期。
我使用的是最新的api(PHP SDK)。
这是我的登录名:
$session = $helper->getSessionFromRedirect();
$token = $session->getToken();
在那之后,我正在做这样的事情:
$accounts = new FacebookRequest($session,
'GET',
'/me/accounts?fields=picture,access_token,name');
如果你们中的一些人知道我如何获得一个永远不会过期的令牌,那就太好了,尽管用户没有粉丝页面
唯一永久有效的令牌是应用访问令牌和扩展页面访问令牌你无法获得永久有效的用户令牌,而且你永远都不需要它。如果用户没有访问该应用程序超过2个月,他很可能不再使用该应用程序。不过,只要用户访问您的应用程序,您就可以使用FB.getLoginStatus轻松刷新用户令牌。
以下是您需要了解的关于访问令牌的所有信息:
- https://developers.facebook.com/docs/facebook-login/access-tokens/
- http://www.devils-heaven.com/facebook-access-tokens/
如果它访问您需要的Graph API,您可以调用Graph API,而不需要App access令牌。如Facebook所述:
还有另一种方法可以调用Graph API,不需要使用生成的应用令牌。您可以在拨打电话时将应用程序id和应用程序机密作为access_token参数传递:http://graph.facebook.com/endpoint?key=value&access_token=app_id|app_secret使用生成的访问令牌与此方法的选择取决于您将应用程序秘密隐藏在哪里
你可以在这里阅读更多信息:
https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens