我的测试应用程序出了点问题
$params = array(
'scope' => 'read_stream, publish_stream'
);
$loginUrl = $facebook->getLoginUrl($params);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
这是我用来发送尚未登录的用户登录的代码 通过facebook auth对话框。 问题是在使用facebook auth对话框登录后 用户将被重定向到我的网站,该网站不在Facebook应用程序中。
如何在使用auth对话框登录后将用户发回Facebook应用程序?
请帮忙
答案 0 :(得分:2)
您可以使用getLoginUrl()的redirect_uri
参数告知Facebook在授权结束后要将用户发送到哪里(让它成功或失败)。
你可以在那里使用什么限制,基本上你有三个选择:
https://apps.facebook.com/YOUR_APP_NAMESPACE
https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID
默认情况下,php sdk将当前网址设为redirect_uri
。有关这些的文档位于相同参数的oauth dialog's documentation下。
答案 1 :(得分:0)
对于同一个问题进行谷歌搜索并找到了解决方案,所以想到也可以回答她。
只需在主页面中添加以下代码即可。
$config['appBaseUrl'] = "http://apps.facebook.com/your_app_name/";
if(isset($_GET['code']))
{
header("location:" . $config['appBaseUrl']);
exit;
}
$ config是我在创建facebook对象时传递的数组。在这种情况下,不需要创建数组。