php-sdkを使用して、fbを介してサイトにログインしたときにセッションを作成しています。ログインすると、ユーザーはfb_redirect.phpというファイルにリダイレクトされます。そのページには、次のものがあります。
$facebook = new Facebook(array('appId' => '123456789',
'secret' => '123456789',
'cookie' => true));
$access_token = $facebook->getAccessToken();
//$facebook->setAccessToken($access_token); // you do not need to set the token if there is one, so this should be conditional to if your switching tokens or setting a token from an external sdk.
いつ
$access_token
ここにエコーされ、ユーザートークンが表示されます。ただし、別のページでは、アプリが要求したpublish_actions権限を利用して、カスタムアクションをユーザーのタイムラインに投稿する必要があります。そのためには、アクセストークンをユーザートークンに設定する必要があります。ただし、何らかの理由で、他のページでは、$access_tokenは常にユーザートークンではなくアクセストークンに設定されます。手動でユーザートークンに戻すにはどうすればよいですか?