Extended permissions

From Facebook Developer Wiki

(Redirected from Extended permission)
Jump to: navigation, search

Facebook offers some API functionality which requires specific opt in from the user. These methods are specific to certain use cases and require a greater level of trust from the user. They therefore employ a secondary opt-in flow, and the user may only opt in to one such permission on a single page view.

The available extended permissions are:

Permission Description
publish_stream Lets your application or site post content, comments, and likes to a user's profile and in the streams of the user's friends without prompting the user.

This permission is a superset of the status_update, photo_upload, video_upload, create_note, and share_item extended permissions, so if you haven't prompted users for those permissions yet, you need only prompt them for publish_stream.

Note: Before your application can prompt yours users for the publish_stream permission, you need Facebook to approve it. Read more about applying for the permission.

read_stream Lets your application or site access a user's stream and display it. This includes all of the posts in a user's stream. You need an active session with the user to get this data.
email This permission allows an application to send email to its user. This permission can be obtained only through the fb:prompt-permission tag or the promptpermission attribute. When the user accepts, you can send him/her an email via notifications.sendEmail or directly to the proxied_email FQL field.
offline_access This permission grants an application access to user data when the user is offline or doesn't have an active session. This permission can be obtained only through the fb:prompt-permission tag or the promptpermission attribute. Read more about session keys.
create_event This permission allows an app to create and modify events for a user via the events.create, events.edit and events.cancel methods.
rsvp_event This permission allows an app to RSVP to an event on behalf of a user via the events.rsvp method.
sms This permission allows a mobile application to send messages to the user and respond to messages from the user via text message.
status_update This permission grants your application the ability to update a user's or Facebook Page's status with the status.set or users.setStatus method.

Note: You should prompt users for the publish_stream permission instead, since it includes the ability to update a user's status.

photo_upload This permission relaxes requirements on the photos.upload and photos.addTag methods. If the user grants this permission, photos uploaded by the application will bypass the pending state and the user will not have to manually approve the photos each time.

Note: You should prompt users for the publish_stream permission instead, since it includes the ability to upload a photo.

video_upload This permission allows an application to provide the mechanism for a user to upload videos to their profile.

Note: You should prompt users for the publish_stream permission instead, since it includes the ability to upload a video.

create_note This permission allows an application to provide the mechanism for a user to write, edit, and delete notes on their profile.

Note: You should prompt users for the publish_stream permission instead, since it includes the ability to let a user write notes.

share_item This permission allows an application to provide the mechanism for a user to post links to their profile.

Note: You should prompt users for the publish_stream permission instead, since it includes the ability to let a user share links.

The above permissions can be queried via the users.hasAppPermission method or the permissions FQL table.

[edit] Granting Extended Permission

You can request one or more extended permissions from a user using one of these methods:

<fb:prompt-permission perms="read_stream,publish_stream"> Grant permission for status updates </fb:prompt-permission>

When the user submits the form or follows the URL, a permissions dialog like the following appears:

Image:Status_update_screenshot.png

[edit] Revoking Extended Permissions

Should a user want to revoke an extended permission, or should a developer need to revoke it in order to test the users.hasAppPermission method, direct the user to the URL: http://www.facebook.com/editapps.php.

Users can reach this page by clicking Edit in the applications list on the left hand nav, then click Edit Settings next to the application in question and revoke the extended permission.

There is no direct URL for editing the permissions for a single application. Users have to click the appropriate application's Edit Settings link on the Edit Applications page.

reference