使用Facebook PHP SDK获得60天有效访问令牌的正确方法是什么


What is the proper way to get a 60 day long living access token using Facebook PHP SDK?

Facebook正在否决offline_access权限。使用FB PHP SDK获得长寿(60天)访问令牌的正确方法是什么?

您应该首先请求新的长期访问令牌:

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

当然,您必须使用最新的PHP-SDK vv 3.1.1

正如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 

我的方式:

$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];