我没什么问题当我需要我的应用程序要求用户授予对该应用程序的权限时,我使用以下代码:
<?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>";
我的工作正常,但是在用户按下“授予权限”后,他被重定向到了我的应用程序URL。我的意思是直接喜欢http://mydomain.com/myapp/,而不是我在Facebook上的应用页面。
我可以解决它-我知道我应用程序的Facebook地址,因此我将他重定向到适当的http://apps.facebook.com/myappname。它也可以。但是-当有人在某个页面选项卡上添加我的应用程序时-这是出现问题的地方。因为我不知道将用户重定向到什么地方-我也不知道从哪个页面调用了我的应用程序。
有什么方法可以知道从我的应用程序调用的页面,或者甚至更好的方法,是使Facebook正确地将用户重定向到“facebook页面”,在“授予权限”对话框之后添加了应用程序选项卡?
最佳答案
您可以像这样设置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>";
?>