4

我是这个 Facebook 编码游戏的新手,所以偶然发现了一个我认为只有我可能遇到的错误。我最初希望允许用户登录来管理他们的页面,但事后考虑,客户希望他们的用户也能够发布到他们的个人页面。

因此,我将 publish_stream 权限添加到范围,但我坚持让 Facebook 出现错误。

我是否必须首先从应用程序中停用自己,这是文档中的重点:

https://developers.facebook.com/docs/authentication/

附上代码,任何帮助都会很棒:

$facebook = new Facebook(array(
        'appId'  => $this->app_id,
        'secret' => $this->secret,
    ));

    $s = setting::findAppSettingSpecific('social','facebook');

    // exit;
    $facebook->setAccessToken($s);
    $user = $facebook->getUser();
    $dia_url = 'http://localhost/social/accept/';
    $login_url = $facebook->getLoginUrl($params = array('redirect_uri' => $dia_url,'scope' => 'manage_pages,publish_stream'));
    if($user == 0) {


    }
    else
    {
        echo ("<script> top.location.href='".$login_url."'</script>");
        echo 'Facebook Loves Us';
        return true;
    }

它正在本地主机上运行,​​以防万一有人指出这一点,但是在添加额外权限时才开始调用错误。

提前致谢。

4

1 回答 1

5

你有几个选择:

(1) 使用Graph Explorer,在右上角的选择框中选择您的应用程序,将方法更改为 DELETE 并在路径中放置me/permissions。这将删除您授予该应用程序的所有权限。

(2) 如果应用程序已添加书签,则在您的 facebook 主页中,将应用程序名称悬停在左侧书签面板上,左侧会出现一个编辑图标,单击该图标,然后单击Edit Settings,您可以在其中删除一些个人权限。

(3) 在 facebook 的右上角点击朝下的箭头,在菜单中点击 *Privacy Settings”,然后在该页面点击“Apps and Websites”的编辑设置,您可以控制您使用的应用程序。


编辑

(4) 例如,您可以通过对 /me/permissions 的 DELETE 请求删除单个权限,并使用额外的参数 permissions=publish_stream

感谢@Igy 指出了第四个选项。

于 2012-04-26T19:24:30.630 回答