我没什么问题。当我需要我的应用程序要求用户授予应用程序权限时,我使用以下代码:
<?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>
答案 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应用页面。