Facebook 权限不会弹出
Posted
技术标签:
【中文标题】Facebook 权限不会弹出【英文标题】:Facebook permissions don't pop 【发布时间】:2014-07-13 05:59:37 【问题描述】:我正在开发一个应用程序 facebook,我正在使用新的 sdk!
而且...我有一些大问题。 使用我的开发帐户,没有问题,但是使用 lambda 帐户..
问题是:-我的应用程序要求一些权限:publish_stream、read_stream、publish_actions、photo_upload、user_photos 和 user_status。 当我在 longinUrl 上重定向时,我没有弹出权限。我想,问题就在这里,但为什么呢?
当我想发帖时,SDK 发送给我的权限比未授予... 没看懂。。
代码如下:
$facebook = new Facebook(array(
'appId' => 'XXXX',
'secret' => 'XXXX'
));
$user=$facebook->getUser();
if ($user==0)
header("Location: ".$facebook->getLoginUrl(array(
'scope' =>'publish_stream, read_stream, publish_actions, photo_upload, user_photos, user_status'
)));
else
$facebook->api( '/'.$user.'/feed',
'post',
array(
'message' => $_SESSION['msg'],
));
编辑:现在,我有一个弹出窗口,但是: Facebook 说:这个应用程序只能看到你的个人资料。
Facebook 不向用户询问我要求的权限,为什么? 没看懂。。
【问题讨论】:
你是否包含了 facebook api php 文件? 如果用户在您的应用中没有角色,您需要获得 facebook 批准的权限。 Hardy -> 是的,包括在内。 WizKid -> 你是什么意思?只是为了发消息? WizKid -> PS:如果不是这样,我会和这些人有同样的错误吗? ***.com/questions/23415126/… 但我什至没有这个弹出窗口 【参考方案1】:我强烈建议在 Facebook 上使用 javascript SDK 登录:
https://developers.facebook.com/docs/reference/javascript/FB.login/v2.0
这是一个更好的解决方案,原因有很多:
它几乎不受代码更改的影响,SDK 会在页面加载时从 Facebook 下载 更好的可用性,因为用户没有被重定向,它是一个弹出窗口 您不需要 PHP关于您的 PHP 解决方案:确保您使用的是最新的 PHP SDK (4.x.x) 和 PHP >= 5.4 的 Web 主机。关于权限:publish_stream
已被弃用,你不应该同时请求读写权限(read_stream
,publish_actions
)。 photo_upload
不需要,publish_actions
已经涵盖了。最后但同样重要的是:read_stream
只会在没有原生 Facebook 客户端的平台上获得应用程序的批准。有关更多信息,请参阅此线程:Is there any way to get Facebook read_stream permission using the latest Facebook app review?
话虽如此,权限也可以在未经批准的情况下工作,但仅适用于应用程序的管理员/开发人员。
另外,当用户进入您的应用程序时,不要立即重定向,始终让他点击一些“登录”按钮并首先显示有关您的应用程序的一些信息。这并不是 Facebook 的真正要求,而是一个很好的建议。
【讨论】:
感谢您的回答 luschn!经过一些测试,你是对的,我只需要 publish_actions ......我在想比我需要的更多!谢谢!对于重定向,这是因为它位于公式之后。 (用户会为应用程序选择一些社交媒体)嗯,所以,对于发布操作,我需要获得 Facebook 的批准才能在用户的墙上发布?这就是我没有权限弹出的原因?感谢您的回答! 不,当然,您总是需要授权用户。但 publish_actions 仅在获得批准后才适用于任何其他用户。以上是关于Facebook 权限不会弹出的主要内容,如果未能解决你的问题,请参考以下文章
Facebook:当我返回我的应用程序时,登录和权限屏幕不会关闭