Datamodel Permissions
See Data Model for how the add-in exposes Facebook APIs as different relational tables and views. This page offers a summary of permissions that might be required depending on how you use the add-in.
Overview
Access and permissions to Facebook APIs broadly depend on whether you are pulling information for:
- a User or things owned by a User
- a Page or things owned by a Page
For information associated with a User or scoped to a User, access and permission are dependent on the set of permissions (scopes) that the user has approved for the OAuth application that accesses the Facebook API. For information associated with a Page, access and permission are controlled not only by the approvals given by a user to the OAuth application, but also by:
- the approvals given by a user to the accessing OAuth application
- the tasks assigned to the user on the Page
- various Features approved for the application regardless of user
- Page status on the Facebook platform
To access information associated with a User, the OAuth application that is used with the add-in must be able to obtain some or all of the following permissions:
- user_birthday
- user_photos
- user_videos
- user_likes
- user_hometown
- user_location
- user_tagged_places
- public_profile
The user must also approve the OAuth application for these permissions when the user signs into Facebook to approve the application's access to their account.
To access information associated with a Page, the OAuth application that is used with the add-in must be able to obtain some or all of the following permissions:
- read_insights
- pages_read_engagement
- pages_manage_engagement
- pages_show_list
The user must also approve the OAuth application for these permissions when the user signs into Facebook to approve the application's access to their account.
Additionally, when accessing Page information, depending on what they are trying to access, users might find that they need one of the following Tasks for the Page:
- ANALYZE
- MODERATE
- CREATE_CONTENT
- MANAGE
Alternatively, you can use the following features, if approved for an application, to access certain public Page information when the user does not have the requisite Task on the page:
- Page Public Content Access (PPCA)
- Page Public Metadata Access (PPMA)
Finally, the status of a Page can also factor into determining what sort of information can be obtained for or from it:
- For Unpublished Pages, there are usually no restrictions for the Page data
- For Published, Unrestricted Pages, limited data is available through PPCA or PPMA. More data specific to the Page, or specific to the users, pages, or other Facebook entities that have interacted with the Page, is available to those who have requested requisite permissions for pages, and who also have been assigned the Tasks needed for the Page. Non-public Page data may be further limited by privacy choices of the user, page, or entity that generated the non-public data on the Page.
- For Published, Restricted Pages, data availability is covered by same permissions as for Published, Unrestricted pages, and additional requirements that the user must pass the restrictions, e.g., age or region, enforced for the Page.
Specific Permissions
The following shows the permissions, Tasks, or Features potentially required for each table or view. Whether each column is strictly required depends on your use case. Note that whether Page Permissions, Page Task, and Page Features are required depends on the status of the Page on Facebook and on the ownership relationship of the application user to the Page.Table or View Name | User or Non-Page Permissions | Page Permissions | Page Task | Page Feature | |
Comments | permissions for parent entity | permissions for parent entity, pages_read_engagement, or pages_read_user_content | MODERATE | PPCA | |
Events | N/A | pages_read_engagement, pages_read_user_content, or pages_manage_metadata | N/A | N/A | |
Groups | conditionally group_access_member_info | N/A | N/A | N/A | |
InsightsByConsumptionType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InsightsByFeedbackType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InsightsByLikeSourceType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InsightsByReactionTotals | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InsightsByStoryType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InsightsByTabType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InsightsByUnlikeType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
InstagramAccountInsights | instagram_basic and instagram_manage_insights | N/A | N/A | N/A | |
Likes | permissions for parent entity | N/A | N/A | N/A | |
PageAndPostInsights | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
Pages | pages_show_list | pages_read_engagement or pages_read_user_content, pages_show_list | MODERATE | PPCA,PPMA | |
Photos | user_photos | pages_read_engagement or pages_read_user_content | MODERATE | N/A | |
Places | user_location | N/A | N/A | N/A | |
Posts | user_posts | pages_read_engagement or pages_read_user_content | MODERATE, CREATE_CONTENT, or MANAGE | PPCA | |
Ratings | N/A | pages_read_user_content | MODERATE, CREATE_CONTENT, or MANAGE | N/A | |
SimpleVideoInsights | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
StoryAttachments | permissions for parent entity | permissions for parent entity | N/A | N/A | |
TaggedBy | N/A | pages_read_user_content, pages_show_list | MODERATE, CREATE_CONTENT, or MANAGE | N/A | |
Users | public_profile, user_location | N/A | N/A | N/A | |
VideoInsightsByActionType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
VideoInsightsByDistributionType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
VideoInsightsByReactionType | N/A | read_insights or pages_read_engagement | ANALYZE | N/A | |
Videos | user_videos or user_posts | pages_read_engagement or pages_read_user_content | MANAGE | PPCA | |
Wall | user_posts | pages_read_engagement or pages_read_user_content | MODERATE, CREATE_CONTENT, MANAGE | PPCA |