2013-04-16 99 views
0

我有一个Facebook应用程序应该向用户发送一些通知。这将通过一个cron来完成,我发现两种方法去执行此操作所需的access_tokenfacebook 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

+0

我猜你每次提出请求时都会得到不同的标记,对吧?上述两种方式激发两个不同的调用,所以它返回一个不同的标记。我可能是错的,但那是我的看法。 –

回答

0

在OAuth的端点射击总会给你长寿的道理,这是不同的而不是短命的。

0

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

0

主要的不同之处在于,第二个不需要http请求来获取应用程序访问令牌,只需使用'|'连接客户端ID和客户端密码。

例的client_id“ABC”和client_secret“高清”,然后“ABC | DEF”准备使用,当你调用https://graph.facebook.com/app?access_token=abc|def