2013-04-16 98 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