1

我正在开发一个使用 php api 实现的 facebook 应用程序。我面临的问题是,当我单击取消时,它会将我重定向到同一个按钮,这意味着我根本无法关闭对话框。我想找到一种方法,当用户单击取消按钮将他重定向到应用程序的 fb 页面时。有什么方法可以让我用 php 捕获取消操作。我被困了这么多小时..我在下面提供了一些代码:

if(!$user){
  $loginUrl = '';

  if(isset($signed_request["app_data"])){

    $loginUrl = $this->fb->getLoginUrl(
      array(
          'canvas' => 1,
          'scope' =>'email, user_likes',
          'redirect_uri'=>$curContest->fbpagelink .'?sk=app_'.$curContest->app_id . '?app_data=' . $signed_request["app_data"]
      )
    );
  }else {
    $loginUrl = $this->fb->getLoginUrl(
      array(
          'canvas' => 1,
          'scope' =>'email, user_likes',
          'redirect_uri'=>$curContest->fbpagelink .'?sk=app_'.$curContest->app_id
      )
    );
  }
  /* Redirect the main window NOT the iframe */
  //print_r($_GET['app_data']);
    echo '<script>top.location="'.$loginUrl.'";</script>';
}else{
//code of the app when user click on okay button ...
} 
4

1 回答 1

-1

当用户取消授权选项时,facebook 会将他重定向回您的应用程序,并在返回 url 中使用“错误”参数。

所以在代码中你可以写

if($_GET('error') || $_GET('error_reason')){
   // redirect to your facebook page

}

希望这对你有用!

于 2013-10-28T16:30:33.560 回答