【问题标题】:Facebook requesting missing permissionsFacebook 请求缺少权限
【发布时间】:2012-08-07 06:31:55
【问题描述】:

我已经创建了我的第一个 Facebook 应用,我需要获得 publish_stream 权限。我可以通过遍历获得的每个权限并查看它是否存在来轻松检查它,但如果用户拒绝它,我可以使用 PHP 做什么?

该应用程序作为“画布应用程序”或其他任何名称嵌入到 facebook 中。我知道如何通过为登录 url 提供新权限来请求外部站点的更多权限,但我不知道我怎么可能在应用程序内做到这一点?

我用谷歌搜索和搜索,但我只能找到如何获取具有权限的登录 url。我什至尝试过,但什么也没发生,因为我已经登录了。

这是我尝试过的代码:

        $loginUrl = $facebook->getLoginUrl(array(
            'req_perms' => 'publish_stream,user_likes',
            'next' => $_SERVER['PHP_SELF'],
            'cancel_url' => $_SERVER['PHP_SELF'],
        ));

        echo "<a href='" . $loginUrl . "'>login</a>";

【问题讨论】:

    标签: php facebook permissions


    【解决方案1】:

    我知道如何通过为登录 url 提供新权限来请求外部站点的更多权限,但我不知道如何在应用程序内做到这一点?

    基本上是一样的——通过使用适当的范围参数调用 Auth 对话框。

    您在示例代码中做错的只是您在应用的 iframe 中链接到对话框的 URL,但 Auth 对话框不允许在 iframe 中显示。将target="_top" 添加到链接中,然后将实际显示身份验证对话框。 (您还必须将redirect_uri 参数设置为您在Facebook 上的应用地址,例如https://apps.facebook.com/YOUR_APP_NAMESPACE。)

    当然,您也可以使用 JS SDK 之外的 FB.login 代替 - 这会将身份验证对话框显示为弹出窗口。

    【讨论】:

      猜你喜欢
      • 2015-08-23
      • 1970-01-01
      • 2016-05-07
      • 2012-12-27
      • 2013-02-23
      • 2015-07-24
      • 2019-06-25
      • 1970-01-01
      相关资源
      最近更新 更多