使用Facebook PHP SDK获取60天长的生活访问令牌的正确方法是什么?

问题描述:

Facebook正在弃用offline_access权限。使用FB PHP SDK获取长期生活(60天)访问令牌的正确方法是什么?使用Facebook PHP SDK获取60天长的生活访问令牌的正确方法是什么?

正如它在API中所述 - 只需提供您的旧令牌即可。用CURL或file_get_contents或php库。

https://graph.facebook.com/oauth/access_token?    
    client_id=APP_ID& 
    client_secret=APP_SECRET& 
    grant_type=fb_exchange_token& 
    fb_exchange_token=EXISTING_ACCESS_TOKEN 
+1

我觉得自己像个白痴。我为我的应用启用了“弃用离线访问”设置。我也在使用你提到的方法,但仍然有效期为2天。 – emorling 2012-03-29 20:03:31

我的方式:

$url = "https://graph.facebook.com/oauth/access_token?client_id=$client_id&client_secret=$client_secret&grant_type=fb_exchange_token&fb_exchange_token=$fb_access_token"; 
$graph = file_get_contents($url); 
$graph = explode("=", $graph); 
$graph = explode("&", $graph[1]); 
$fb_access_token = $graph[0]; 

你应该问新长寿命的访问令牌第一:

$new_access = $facebook->setExtendedAccessToken(); 
$access_token = $facebook->getAccessToken(); 

,当然你必须使用最新的PHP-SDK VV 3.1。 1