1

次のコードを使用して、アプリがインストールされているページにユーザーをリダイレクトできます。

$facebook = new Facebook(array(
  'appId' => $app_id,
  'secret' => $app_secret,
  'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$page = $signed_request['page'];
$page_id = $page['id'];

$page_array = $facebook->api("/$page_id");
$page_link = $page_array['page_link'];

$redirect_uri = $page_link . '?sk=app_' . $app_id

$user = $facebook->getUser();
if(!$user) {
  $url = $facebook->getLoginUrl(array('redirect_uri' => $redirect_uri));
  echo "<script type='text/javascript'>top.location.href = '$url';</script>";
}

これはほとんどのページで問題なく機能しますが、ページに年齢制限がある場合(そして、アプリを使用しているすべてのページがそうならないことを保証できない場合)、収集できるものから、この情報を取得するためにユーザーアクセストークンが必要になるため、$facebook->api("/$page_id");返品があります。false認証しないと取得できません!このパラドックスを回避する方法はありますか、それともページを年齢制限しないようにユーザーに指示する必要がありますか?

アップデート

リダイレクトするだけfacebook.com/$page_idで、認証後にユーザーをページに戻すことができ、APIリクエストを行う必要$page_linkがなくなりますが、理想的には、そのページのアプリページタブにリダイレクトされるようにします。指定されたデフォルトのランディングタブはです。

4

0 に答える 0