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

时间:2011-06-10 03:45:21

标签: php facebook sdk

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

<?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>";

我工作正常,但在用户按“授予权限”后,他会被重定向到我的应用网址。我的意思是直接http://mydomain.com/myapp/,而不是Facebook上的应用页面。 我可以解决它 - 我知道我的应用程序的Facebook地址,所以我将他重定向到正确的http://apps.facebook.com/myappname。它也可以。但是 - 当某人在某个页面选项卡上添加我的应用程序时 - 这里出现问题。因为我不知道在哪里重定向用户 - 我不知道,从我的应用程序调用的页面。

有没有办法了解我的应用程序被调用的页面,或者更好的是,让Facebook正确地将用户重定向到“Facebook页面”,在“授权许可”对话框后添加了应用程序选项卡? / p>

2 个答案:

答案 0 :(得分:4)

您可以像这样设置redirect_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>";
   ?>

答案 1 :(得分:1)

似乎唯一能做的就是检测用户是否从Facebook外部查看您的网页,然后将其重定向到您的Facebook应用页面。