我们打算使用Graph API v.2.2切换到Facebook PHP SDK 4.0.0。我对这个新的Facebook SDK很新,我正在玩它。在这一刻,我想获得这样的特权:
/* PHP SDK v4.0.0 */
/* make the API call */
Facebook\FacebookSession::setDefaultApplication($appID, $appSecret);
$session = new Facebook\FacebookSession($accessToken);
/* PHP SDK v4.0.0 */
/* make the API call */
$request = new Facebook\FacebookRequest(
$session,
'GET',
'/me/permissions'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
如果我有正确的$appID
,$appSecret
和$accessToken
值,这非常有用。对于$appID
和$appSecret
,我认为没有问题,因为它们是从开发者页面获取的应用程序级设置。但是,我正在努力争取如何获得$accessToken
。我一直在测试有一个有效的facebook访问令牌的用户,我已经从数据库中读取了值,但我想知道如何获得以下逻辑:
$accessToken
的值设置为从数据库获取的有效访问令牌,或者,如果无效/不存在,则通过Facebook SDK获取。请注意,我使用数据库没有问题,因此我们可以跳过从/向数据库加载/存储访问令牌的步骤。有谁知道我该怎么做呢?
答案 0 :(得分:1)
FacebookSession
类有一个方法getToken
- 因此,一旦您成功完成登录流程,它将为您提供用户的访问令牌。至于检查令牌是否仍然有效,它也有一个validate
方法
并且无需登录即可检查令牌的有效性,您只需使用该令牌创建会话。
顺便说一句,如果用户已经登录过您的应用程序一次,那么在后续调用登录对话框时,他们将直接从Facebook重定向到您的应用程序,无需任何额外的用户交互(只要他们是登录Facebook本身。)