PHP Facebook SDKを使用しています。ユーザートークンを受け取ったら、次のように提案どおりに拡張しようとします。
$fb_config = array('appId' => $app_id, 'secret' => $secret);
$facebook = new Facebook($fb_config);
$facebook->setAccessToken($token);
if ($facebook->setExtendedAccessToken() !== false)
echo "New token is $facebook->getAccessToken()";
トークン (私の経験では、通常、受信トークンとは異なります) を facebook デバッガー* に対してチェックすると、通常、有効期限は "Never" です。ただし、特定の Facebook ユーザーの場合、新しい拡張トークンは「約 1 時間」で期限切れになります。偶然かもしれませんが、これは新しい Facebook ユーザーに起こることに気付きました。
*申し訳ありませんが、質問に2つ以上のリンクを投稿するという評判はないようです