dangvy
dangvy

Reputation: 316

Why does facebook show multiple permissions dialogues?

So, I've got an app that allows a user to enter a competition and then I want to post their entry to their timeline.

So therefore I ask for the permissions as follows:

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

Which is slimmed down from the initial permissions I had:

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

But when accessing the page, Facebook still pops up a permission dialogue twice. The first time isn't even accurate, and seems to be causing a lot of dropoff as people won't go past that point.

The first message is:

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

Secondly, is what I'm actually after:

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

Can anyone help as to why, is this expected behaviour, or a bug or something I'm doing wrong?

Thanks!

Upvotes: 0

Views: 720

Answers (2)

Martin Bean
Martin Bean

Reputation: 39389

One’s permissions, which your app requires; and the second’s extended permissions, which you app could use for a richer experience but is not essential to your app’s functionality.

Upvotes: 0

Anvesh Saxena
Anvesh Saxena

Reputation: 4466

It is not a bug but this is by design, the first dialog box consists of read permissions and if you have asked for the publish_actions or publish_stream a second prompt will appear asking user to provide the write permissions. Quoting from the Permissions documentation

Additionally publishing permissions such as publish_actions or publish_stream will prompt a second step in the Login dialog, which can cause fewer people to log in.

Also as a best practice, you should ask the write or publish permissions only when you need it. Quoting from the Permissions documentation,

Apps should separate the request of read and publish permissions. Plan your app around requesting the bare minimum of read permissions at initial login and then any publish permissions when a person actually needs them, for example when they want to create an Open Graph story from within the app. This provides the best user experience and optimizes conversion.

Upvotes: 2

Related Questions