0

我有一个应该向其用户发送一些通知的 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.

4

3 回答 3

0

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

于 2013-04-16T09:44:33.080 回答
0

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

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

于 2013-04-16T10:10:03.357 回答
0

在 oauth 端点触发将始终为您提供长期令牌,这与短期令牌不同。

于 2013-04-16T10:25:16.013 回答