通过PHP SDK的Facebook应用程序-重定向回有人在获得权限后添加我的应用程序的页面

通过PHP SDK的Facebook应用程序-重定向回有人在获得权限后添加我的应用程序的页面,php,facebook,sdk,Php,Facebook,Sdk,我没什么问题。当我需要我的应用程序请求用户授予应用程序权限时,我使用以下代码: <?php $loginUrl = $facebook->getLoginUrl( array( 'canvas' => 1, 'fbconnect' => 0, 'scope' => 'email,publish_stream,offline_access', )); ?> echo "<script type='text/javascript

我没什么问题。当我需要我的应用程序请求用户授予应用程序权限时,我使用以下代码:

<?php
$loginUrl = $facebook->getLoginUrl(
array(
    'canvas'    => 1,
    'fbconnect' => 0,
    'scope' => 'email,publish_stream,offline_access',
));
?>
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";

echo“top.location.href='$loginUrl';”;
我工作正常,但在用户按下“授予权限”后,他被重定向到我的应用程序URL。我的意思是直接,而不是我在Facebook上的应用程序页面。 我可以解决这个问题——我知道我的应用程序的Facebook地址,所以我将他重定向到适当的位置。它也可以用。但是,当有人在某个页面选项卡上添加我的应用程序时,问题就出现在这里。因为我不知道在哪里重定向用户-我不知道,从哪个页面调用我的应用程序


有没有办法知道我的应用程序是从哪个页面调用的,或者更好的办法是让Facebook正确地将用户重定向到“Facebook页面”,在“授予权限”对话框后添加了应用程序选项卡?

您可以这样设置
重定向uri

   <?php
    $loginUrl = $facebook->getLoginUrl(
    array(
        'canvas'    => 1,
        'fbconnect' => 0,
        'scope' => 'email,publish_stream,offline_access',
        'redirect_uri' => 'http://yourdomain.com/app', //the url to go to after a successful login
    ));

    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
   ?>

似乎你唯一能做的就是检测用户是否从facebook外部查看你的页面,然后将他们重定向到你的facebook应用程序页面。

我做到了。问题是“在哪里”重定向,而不是“如何”重定向。也许你把它和成千上万的“天哪,如何重定向回facebook”问题混淆了。无论如何,谢谢你的时间和回答。p、 如果你感兴趣,我已经整理好了-这验证了我自己的想法,谢谢Pav…很高兴知道我可以定义我自己的解决方案,你能在这里发布解决方案吗?facebook论坛不是一个保存解决方案的稳定场所,它可能会被删除或从那里删除。具体原因是什么now@Mikepote是的,事实上,答案已经被删除了,很遗憾,在成功登录后,我仍然不知道如何从网关服务器重定向:(到目前为止,我的搜索结果就是这样。