facebook access_token澄清

时间:2013-04-16 07:30:40

标签: facebook facebook-graph-api facebook-php-sdk

我有一个Facebook应用程序应该向其用户发送一些通知。这将由一个cron完成,我找到了两种方法来获得执行此操作所需的access_token

1

$app_token = file_get_contents("https://graph.facebook.com/oauth/access_token?" .
    "client_id=" . appid .
    "&client_secret=" . secret .
    "&grant_type=client_credentials");

2

$fb = new Facebook(array('appId' => appid, 'secret' => secret, 'cookie' => true));
$app_token = $fb->getAccessToken(),

我可以理解,有两种方法可以获得access_token,但为什么我会从这两种方法中获得不同的值? [就我注意到的情况而言,两者的工作方式相同]

我想知道差异是什么以及获得access_token的最佳方法是什么。

3 个答案:

答案 0 :(得分:0)

我认为第二种选择是好的。因为将来Facebook可能会更改URL以获取访问令牌。但在第二个选项中,您使用的是oAuth,它更安全。您可能需要更改您使用的SDK。而已。

答案 1 :(得分:0)

主要的不同之处在于,第二个不需要http请求来获取应用访问令牌,只需将客户端ID和客户端密钥与“|”连接在一起。

示例client_id'abc'和client_secret'def',然后在调用https://graph.facebook.com/app?access_token=abc|def时可以使用'abc | def'

答案 2 :(得分:0)

在oauth终点点击将始终为您提供长寿命令牌,这与短命令牌不同。