0

我的测试应用程序有问题

$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 dialog 登录后,用户将被重定向到我不在 facebook 应用程序中的网站。

使用身份验证对话框登录后如何将用户发送回 Facebook 应用程序?

请帮忙

4

2 回答 2

2

您可以使用getLoginUrl()redirect_uri的参数告诉 facebook 在授权结束后您要将用户发送到哪里(让它成功或失败)。

你可以在那里使用的东西有很多限制,基本上你有三个选择:

  1. 应用程序域下的 URL。
  2. 应用程序的画布路径(如果有的话):https://apps.facebook.com/YOUR_APP_NAMESPACE
  3. 安装了您的应用程序的任何页面网址:https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID

默认情况下,php sdk 将当前 url 作为redirect_uri. 有关这些的文档位于同一参数的oauth 对话框的文档中。

于 2012-08-08T06:11:37.077 回答
0

正在谷歌搜索同样的问题并找到了解决方案,所以不妨回答她。

只需在主页中添加以下代码。

$config['appBaseUrl'] = "http://apps.facebook.com/your_app_name/";

if(isset($_GET['code']))
{
     header("location:" . $config['appBaseUrl']);
     exit;
}

$config 是我在创建 facebook 对象时传递的数组。在这种情况下,虽然没有必要创建一个数组。

于 2013-07-23T11:24:11.610 回答