Facebook SDK - 在请求权限后重定向


Facebook SDK - redirecting after permissions request

我创建了一个应用程序(在页面标签内)。现在我检查应用程序是否具有所有权限,如果没有,我会要求它们:

 //$app_url = Url to Page Tab
'<script>top.location.href = "'.$facebook->getLoginUrl('next' => $app_url, 'scope' => $scope).'";</script>'

现在我希望它在请求权限后重定向到页面选项卡(应用程序),但它总是重定向到我的域。

首先尝试使用"redirect_uri",但这会引发错误(过时),并且还会使用"next"。

有什么想法,除了在APP中检查用户是否在Facebook上?

找不到最新的解决方案。

编辑:刚刚看到当我以管理员身份尝试该应用程序时,显示以下错误:API 错误代码:191API 错误说明:指定的 URL 不属于应用程序

要重定向到您的应用程序选项卡,如果您使用PHP Facebook SDK,您可以执行以下操作:

$signedRequest = $facebook->getSignedRequest();
if(!empty($signedRequest) && !empty($signedRequest['page']['id'])){
    $page = $facebook->api($signedRequest['page']);
}
$redirect_uri = $page['link'] . '?sk=app_' . $facebook->getAppId();
$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'publish_actions',
    'redirect_uri' => $redirect_uri
  ));

然后,在你的HTML中,你输入:

<script>top.location.href = "<?php echo $loginUrl; ?>";</script>

此外,在您的应用程序配置中,您必须指向(页面选项卡URL和安全页面选项卡URL)到您的域和文件夹,您的应用程序在哪里。