0

所以,我有一个允许用户参加比赛的应用程序,然后我想将他们的参赛作品发布到他们的时间线上。

因此,我要求以下权限:

$loginParams = array(
                    'scope' => 'publish_actions',
                    'redirect_uri' => $facebookSettings['redirectUri']
                );

从我拥有的初始权限中减少了:

...'scope' => 'read_stream, user_photos, photo_upload' ....

但是在访问页面时,Facebook 还是会弹出两次权限对话框。第一次甚至不准确,并且似乎导致了很多下降,因为人们不会超过那个点。

第一条消息是:

  XXXXXX would like to access your public profile and friend list.

其次,是我真正追求的:

  XXXXX would like to post to your friends on your behalf.

任何人都可以帮助解释为什么,这是预期的行为,还是错误或我做错了什么?

谢谢!

4

2 回答 2

2

这不是错误,但这是设计使然,第一个对话框由读取权限组成,如果您已要求,publish_actions则会publish_stream出现第二个提示,要求用户提供写入权限。引用权限文档

此外,发布权限(例如 publish_actions 或 publish_stream)将在登录对话框中提示第二步,这可能会导致更少的人登录。

同样作为最佳实践,您应该仅在需要时询问写入或发布权限。引用权限文档

应用程序应该将读取和发布权限的请求分开。计划您的应用程序,在初始登录时请求最低限度的读取权限,然后在人们真正需要它们时请求任何发布权限,例如,当他们想从应用程序内创建一个开放图谱故事时。这提供了最佳的用户体验并优化了转换。

于 2013-07-09T11:40:44.743 回答
0

您的应用需要的权限;第二个的扩展权限,您的应用程序可以使用它来获得更丰富的体验,但对于您的应用程序的功能来说并不是必不可少的。

于 2013-07-09T11:52:25.300 回答