001/* 002 * Copyright (c) 2010-2026 Mark Allen, Norbert Bartels. 003 * 004 * Permission is hereby granted, free of charge, to any person obtaining a copy 005 * of this software and associated documentation files (the "Software"), to deal 006 * in the Software without restriction, including without limitation the rights 007 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 008 * copies of the Software, and to permit persons to whom the Software is 009 * furnished to do so, subject to the following conditions: 010 * 011 * The above copyright notice and this permission notice shall be included in 012 * all copies or substantial portions of the Software. 013 * 014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 015 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 016 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 017 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 018 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 019 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 020 * THE SOFTWARE. 021 */ 022package com.restfb.scope; 023 024import com.restfb.annotation.GraphAPI; 025 026/** 027 * Please check the permission dependencies 028 * <a href="https://developers.facebook.com/docs/pages/overview-1#permission-dependencies">here</a> 029 */ 030public enum FacebookPermissions { 031 /** 032 * Provides access to a subset of items that are part of a person's public profile. 033 * <p> 034 * A person's public profile refers to the following properties on the user object by default: 035 * <ul> 036 * <li>id</li> 037 * <li>name</li> 038 * <li>first_name</li> 039 * <li>last_name</li> 040 * <li>link</li> 041 * <li>gender</li> 042 * <li>locale</li> 043 * <li>timezone</li> 044 * <li>updated_time</li> 045 * <li>verified</li> 046 * </ul> 047 * 048 * On the web, public_profile is implied with every request and isn't required, although the best practice is to 049 * declare it. On iOS and Android, you must manually request it as part of your login flow.<br /> 050 * <br /> 051 * 052 * gender & locale can only be accessed if: 053 * 054 * <ul> 055 * <li>The person queried is the person using the app.</li> 056 * <li>The person queried is using the app, and is a friend of the person using the app.</li> 057 * <li>The person queried is using the app, is not a friend of the person using the app, but the app includes either 058 * an app access token or an <code>appsecret_proof</code> argument with the call.</li> <br /> 059 * <strong>Review</strong> Your app may use this permission without review from Facebook. 060 */ 061 PUBLIC_PROFILE("public_profile", Category.PUBLIC), // 062 063 /** 064 * Provides access to a person's age range. 065 * 066 * <p> 067 * <strong>Review</strong> 068 * 069 * <p> 070 * If your app requests this permission Facebook will have to review how your app uses it. 071 */ 072 @GraphAPI(since = "3.0") 073 USER_AGE_RANGE("user_age_range", Category.USER_DATA), // 074 075 /** 076 * Access the date and month of a person's birthday. This may or may not include the person's year of birth, dependent 077 * upon their privacy settings and the access token being used to query this field. 078 * 079 * <p> 080 * Please note most integrations will only need age_range which comes as part of the public_profile permission. 081 * 082 * <p> 083 * <strong>Review</strong> 084 * 085 * <p> 086 * If your app requests this permission Facebook will have to review how your app uses it. 087 */ 088 USER_BIRTHDAY("user_birthday", Category.USER_DATA), // 089 090 /** 091 * Provides read-only access to the Events a person is hosting or has RSVP'd to. 092 * 093 * <p> 094 * <strong>Review</strong> 095 * 096 * <p> 097 * If your app requests this permission Facebook will have to review how your app uses it. 098 */ 099 USER_EVENTS("user_events", Category.EVENTS_GROUPS_PAGES), // 100 101 /** 102 * Provides access the list of friends that also use your app. These friends can be found on the friends edge on the 103 * user object. 104 * 105 * <p> 106 * In order for a person to show up in one person's friend list, both people must have decided to share their list of 107 * friends with your app and not disabled that permission during login. Also both friends must have been asked for 108 * <code>user_friends</code> during the login process. 109 * 110 * <p> 111 * <strong>Review</strong> 112 * 113 * <p> 114 * Your app may use this permission without review from Facebook. 115 */ 116 USER_FRIENDS("user_friends", Category.USER_DATA), // 117 118 /** 119 * Provides access to a person's gender. 120 * 121 * <p> 122 * <strong>Review</strong> 123 * 124 * <p> 125 * If your app requests this permission Facebook will have to review how your app uses it. 126 */ 127 @GraphAPI(since = "3.0") 128 USER_GENDER("user_gender", Category.USER_DATA), // 129 130 /** 131 * Provides access to a person's hometown location through the hometown field on the User object. This is set by the 132 * user on the Profile. 133 * 134 * <p> 135 * <strong>Review</strong> 136 * 137 * <p> 138 * If your app requests this permission Facebook will have to review how your app uses it. 139 */ 140 USER_HOMETOWN("user_hometown", Category.USER_DATA), // 141 142 /** 143 * Provides access to the list of all Facebook Pages and Open Graph objects that a person has liked. This list is 144 * available through the likes edge on the User object. 145 * 146 * <p> 147 * <strong>Review</strong> 148 * 149 * <p> 150 * If your app requests this permission Facebook will have to review how your app uses it. 151 */ 152 USER_LIKES("user_likes", Category.USER_DATA), // 153 154 /** 155 * Provides access to the Facebook profile URL for another user of the app. 156 * 157 * <p> 158 * <strong>Review</strong> 159 * 160 * <p> 161 * If your app requests this permission Facebook will have to review how your app uses it. 162 */ 163 @GraphAPI(since = "3.0") 164 USER_LINK("user_link", Category.USER_DATA), // 165 166 /** 167 * Provides access to a person's current city through the location field on the User object. The current city is set 168 * by a person on their Profile. 169 * 170 * <p> 171 * The current city is not necessarily the same as a person's hometown. 172 * 173 * <p> 174 * <strong>Review</strong> 175 * 176 * <p> 177 * If your app requests this permission Facebook will have to review how your app uses it. 178 */ 179 USER_LOCATION("user_location", Category.USER_DATA), // 180 181 /** 182 * Enables your app to read the Groups a person is an admin of through the groups edge on the User object. 183 * 184 * <p> 185 * This permission does not allow you to create groups on behalf of a person. It is not possible to create groups via 186 * the Graph API. This does not let you read the groups a user is just a member of. 187 * 188 * <p> 189 * This permission is being deprecated as Groups is moving to a new permission model for apps. Please continue to use 190 * {@code user_managed_groups} for testing your apps in dev mode. However, when submitting for review, please select 191 * the reviewable feature Groups API, and do not submit this {@code user_managed_groups} in your review. 192 * 193 * <p> 194 * <b>Limited use: for testing only</strong> 195 */ 196 USER_MANAGED_GROUPS("user_managed_groups", Category.EVENTS_GROUPS_PAGES), // 197 198 /** 199 * The user_messenger_contact permission allows a business to contact a person via Messenger upon their approval or 200 * initiation of a chat thread with the business's Page. 201 * 202 * <p> 203 * The allowed usage for this permission is for a Page to send a person an initial message, post—purchase updates and 204 * account updates. 205 * <p> 206 * <strong>Review</strong> 207 * 208 * <p> 209 * If your app requests this permission Facebook will have to review how your app uses it. 210 */ 211 USER_MESSENGER_CONTACT("user_messenger_contact", Category.EVENTS_GROUPS_PAGES), // 212 213 /** 214 * Provides access to the photos a person has uploaded or been tagged in. This is available through the photos edge on 215 * the User object. 216 * 217 * <p> 218 * <strong>Review</strong> 219 * 220 * <p> 221 * If your app requests this permission Facebook will have to review how your app uses it. 222 */ 223 USER_PHOTOS("user_photos", Category.USER_DATA), // 224 225 /** 226 * Provides access to the posts on a person's Timeline. 227 * 228 * <p> 229 * Includes their own posts, posts they are tagged in, and posts other people make on their Timeline. 230 * 231 * <p> 232 * <strong>Review</strong> 233 * 234 * <p> 235 * If your app requests this permission Facebook will have to review how your app uses it. 236 * 237 * @since 1.10.0 238 */ 239 USER_POSTS("user_posts", Category.USER_DATA), // 240 241 /** 242 * Provides access to the Places a person has been tagged at in photos, videos, statuses and links. 243 * 244 * <p> 245 * <strong>Review</strong> 246 * 247 * <p> 248 * If your app requests this permission Facebook will have to review how your app uses it. 249 */ 250 USER_TAGGED_PLACES("user_tagged_places", Category.USER_DATA), // 251 252 /** 253 * Provides access to the videos a person has uploaded or been tagged in. 254 * 255 * <p> 256 * <strong>Review</strong> 257 * 258 * <p> 259 * If your app requests this permission Facebook will have to review how your app uses it. 260 */ 261 USER_VIDEOS("user_videos", Category.USER_DATA), // 262 263 /** 264 * Provides the ability to both read and manage the ads for ad accounts you have access to. Please see 265 * <a href="https://developers.facebook.com/docs/marketing-api/buying-api">Ads Management</a> for details. 266 */ 267 ADS_MANAGEMENT("ads_management", Category.EVENTS_GROUPS_PAGES), // 268 269 /** 270 * Provides the access to <a href="https://developers.facebook.com/docs/marketing-api/read-access-onboarding">Ads 271 * Insights API</a> to pull ads report information for ad accounts you have access to. 272 */ 273 ADS_READ("ads_read", Category.EVENTS_GROUPS_PAGES), // 274 275 /** 276 * The attribution_read permission grants your app access to the Attribution API to pull attribution report data for 277 * lines of business you own or have been granted access to by the owner or owners of other lines of business. 278 * <p> 279 * Allowed Usage 280 * <p> 281 * Provides the ability for your app to access ads performance data from Attribution for use in custom dashboards and 282 * data analytics. 283 */ 284 ATTRIBUTION_READ("attribution_read", Category.EVENTS_GROUPS_PAGES), // 285 286 /** 287 * Provides access to the person's primary email address via the email property on the user object. 288 * 289 * <p> 290 * Do not spam users. Your use of email must comply with both Facebook policies and with the CAN-SPAM Act. 291 * 292 * <p> 293 * Note, even if you request the email permission it is not guaranteed you will get an email address. For example, if 294 * someone signed up for Facebook with a phone number instead of an email address, the email field may be empty. 295 * 296 * <p> 297 * <strong>Review</strong> 298 * 299 * <p> 300 * Your app may use this permission without review from Facebook. 301 */ 302 EMAIL("email", Category.USER_DATA), // 303 304 /** 305 * The {@code facebook_branded_content_ads_brand} permission allows an app to read Facebook posts where the app user's 306 * Facebook profile is tagged as a paid partner, and allows the app user to read, request, and revoke permissions to 307 * run Partnership Ads. 308 * <p> 309 * The allowed usage for this permission is to enable a business to read Facebook posts where the account is tagged as 310 * a paid partner and manage permissions to run Partnership Ads without needing a pre-existing post. 311 */ 312 FACEBOOK_BRANDED_CONTENT_ADS_BRAND("facebook_branded_content_ads_brand", Category.EVENTS_GROUPS_PAGES), // 313 314 /** 315 * The {@code facebook_creator_marketplace_discovery} permission allows an app to discover Facebook creators on the 316 * creator discovery platform. 317 * <p> 318 * The allowed usage for this permission is to retrieve insight data for eligible Facebook creators so businesses can 319 * discover and evaluate them for brand campaigns. 320 */ 321 FACEBOOK_CREATOR_MARKETPLACE_DISCOVERY("facebook_creator_marketplace_discovery", Category.EVENTS_GROUPS_PAGES), // 322 323 /** 324 * The page_events permissions allows your app permission to log events on behalf of Facebook Pages administered by 325 * people using your app and to send those events to Facebook for ads targeting, optimization and reporting. 326 * <p> 327 * <strong>Allowed Usage</strong> 328 * <p> 329 * Send businesses related activities (for example purchase, add-to-cart, lead) on behalf of Pages owned by the people 330 * who use your app. 331 */ 332 PAGES_EVENTS("pages_events", Category.EVENTS_GROUPS_PAGES), // 333 334 /** 335 * The {@code pages_manage_ads} permission allows your app the ability to manage ads associated with the Page. 336 * 337 * <p> 338 * You can use this permission to create and manage ads for the Page. 339 * 340 * <p> 341 * <strong>Review</strong> 342 * 343 * <p> 344 * If your app requests this permission Facebook will have to review how your app uses it. 345 * 346 * @since June 1, 2020 347 */ 348 PAGES_MANAGE_ADS("pages_manage_ads", Category.EVENTS_GROUPS_PAGES), // 349 350 /** 351 * The {@code pages_manage_metadata} permission allows you to subscribe and receive webhooks about activity on the 352 * Page, and to update settings on the Page. 353 * 354 * <p> 355 * You can use this permission if you need it to help the Page Admin administer and manage the Page. 356 * 357 * <p> 358 * <strong>Review</strong> 359 * 360 * <p> 361 * If your app requests this permission Facebook will have to review how your app uses it. 362 * 363 * @since June 1, 2020 364 */ 365 PAGES_MANAGE_METADATA("pages_manage_metadata", Category.EVENTS_GROUPS_PAGES), // 366 367 /** 368 * The {@code pages_read_engagement} permission allows your app the ability to read content (posts, photos, videos, 369 * events) posted by the Page, read followers data including name, PSID, and profile picture, and read metadata and 370 * other insights about the Page. 371 * 372 * <p> 373 * You can use this permission if you need it to help the Page Admin administer and manage the Page. 374 * 375 * <p> 376 * <strong>Review</strong> 377 * 378 * <p> 379 * If your app requests this permission Facebook will have to review how your app uses it. 380 * 381 * @since June 1, 2020 382 */ 383 PAGES_READ_ENGAGEMENT("pages_read_engagement", Category.EVENTS_GROUPS_PAGES), // 384 385 /** 386 * The {@code pages_read_user_content} permission allows your app the ability to read User generated content on the 387 * Page, such as posts, comments, and ratings by Users or other Pages, and to delete User comments on Page posts. 388 * 389 * <p> 390 * It also allows your app to read posts that the Page is tagged in. 391 * 392 * <p> 393 * You can use this permission to read Users and other Page’s content posted on the Page if you need it to help manage 394 * the Page. 395 * 396 * <p> 397 * <strong>Review</strong> 398 * 399 * <p> 400 * If your app requests this permission Facebook will have to review how your app uses it. 401 * 402 * @since June 1, 2020 403 */ 404 PAGES_READ_USER_CONTENT("pages_read_user_content", Category.EVENTS_GROUPS_PAGES), // 405 406 /** 407 * Provides the access to manage call to actions of the Pages that you manage. 408 * 409 * <p> 410 * <strong>Review</strong> 411 * 412 * <p> 413 * If your app requests this permission Facebook will have to review how your app uses it. 414 */ 415 @GraphAPI(since = "2.5") 416 PAGES_MANAGE_CTA("pages_manage_cta", Category.EVENTS_GROUPS_PAGES), // 417 418 /** 419 * Lets your app manage Instant Articles on behalf of Facebook Pages administered by people using your app. 420 * 421 * <p> 422 * <strong>Review</strong> 423 * 424 * <p> 425 * If your app requests this permission Facebook will have to review how your app uses it. 426 */ 427 @GraphAPI(since = "2.5") 428 PAGES_MANAGE_INSTANT_ARTICLES("pages_manage_instant_articles", Category.EVENTS_GROUPS_PAGES), // 429 430 /** 431 * Provides access to manage leads retrieved from Lead Ads of the Pages that you manage. 432 * 433 * <p> 434 * <strong>Review</strong> 435 * 436 * <p> 437 * If your app requests this permission Facebook will have to review how your app uses it. 438 */ 439 @GraphAPI(since = "2.3") 440 PAGES_MANAGE_LEADS("pages_manage_leads", Category.EVENTS_GROUPS_PAGES), // 441 442 /** 443 * This allows you to send and receive messages through a Facebook Page. 444 * 445 * <p> 446 * This permission cannot be used to send promotional or advertising content. Conversations through this API can only 447 * begin when someone indicates—through a Messenger plugin or directly messaging you—that they want to receive 448 * messages from you. 449 * 450 * <p> 451 * <strong>Review</strong> 452 * 453 * <p> 454 * If your app requests this permission Facebook will have to review how your app uses it. 455 */ 456 @GraphAPI(since = "2.6") 457 PAGES_MESSAGING("pages_messaging", Category.MESSAGING), // 458 459 /** 460 * This allows you to send and receive messages through a Facebook Page. 461 * 462 * <p> 463 * This permission cannot be used to send promotional or advertising content. Conversations through this API can only 464 * begin when someone indicates—through a Messenger plugin or directly messaging you—that they want to receive 465 * messages from you. 466 * 467 * <p> 468 * <strong>Review</strong> 469 * 470 * <p> 471 * If your app requests this permission Facebook will have to review how your app uses it. 472 */ 473 @GraphAPI(since = "2.6") 474 PAGES_MESSAGING_PHONE_NUMBER("pages_messaging_phone_number", Category.MESSAGING), // 475 476 /** 477 * The {@code marketing_messages_messenger} permission allows an app to create, manage, send, and view the performance 478 * of paid marketing messages in Messenger using ad accounts authorized by the app user. 479 * <p> 480 * The allowed usage for this permission is to let a business send paid marketing messages in Messenger to people who 481 * opted in to receive announcement or promotional messages from Facebook Pages managed by that business. 482 */ 483 MARKETING_MESSAGES_MESSENGER("marketing_messages_messenger", Category.MESSAGING), // 484 485 /** 486 * Provides the access to show the list of the Pages that you manage. 487 * 488 * <p> 489 * <strong>Review</strong> 490 * 491 * <p> 492 * If your app requests this permission Facebook will have to review how your app uses it. 493 */ 494 @GraphAPI(since = "2.5") 495 PAGES_SHOW_LIST("pages_show_list", Category.EVENTS_GROUPS_PAGES), // 496 497 /** 498 * The pages_user_gender permission allows your app to access a user's gender through the Page your app is connected 499 * to. 500 * <p> 501 * Allowed Usage 502 * 503 * <ul> 504 * <li>Personalize experiences or recommendations based on gender.</li> 505 * <li>Use gendered language such as correct pronouns and titles.</li> 506 * </ul> 507 */ 508 PAGES_USER_GENDER("pages_user_gender", Category.EVENTS_GROUPS_PAGES), // 509 510 /** 511 * The pages_user_locale permission allows your to app to a user's locale through the Page your app is connected to. 512 * <p> 513 * Allowed Usage 514 * 515 * <ul> 516 * <li>Personalize experiences based on the locale of a person by surfacing locale specific content.</li> 517 * <li>Send responses in the preferred language of the person.</li> 518 * <li>Display numbers, times, and dates correctly for the locale of the person.</li> 519 * </ul> 520 */ 521 PAGES_USER_LOCALE("pages_user_locale", Category.EVENTS_GROUPS_PAGES), // 522 523 /** 524 * The pages_user_timezone permission grants your app access to a user's time zone through the Page your app is 525 * connected to. 526 * <p> 527 * Allowed Usage 528 * 529 * <ul> 530 * <li>Prevent messages from being sent at an inconvenient time.</li> 531 * <li>Send time sensitive content or recurring news at a specific time.</li> 532 * <li>Provide tailored content based on time.</li> 533 * <li>Send time appropriate greetings.</li> 534 * </ul> 535 */ 536 PAGES_USER_TIMEZONE("pages_user_timezone", Category.EVENTS_GROUPS_PAGES), // 537 538 /** 539 * The {@code pages_utility_messaging} permission allows an app to access a Page's utility message templates. 540 * <p> 541 * The allowed usage for this permission is to manage a Page's utility message templates and send utility messages 542 * over Messenger. 543 */ 544 PAGES_UTILITY_MESSAGING("pages_utility_messaging", Category.MESSAGING), // 545 546 /** 547 * The {@code pages_manage_posts} permission allows your app the ability to create, edit, and delete your Page posts. 548 * 549 * <p> 550 * If you have access to {@code pages_read_user_content}, you can also use {@code pages_manage_posts} to delete Page 551 * posts created by a User. 552 * 553 * <p> 554 * You can use this permission to create and delete content on the Page. 555 * 556 * <p> 557 * <strong>Review</strong> 558 * 559 * <p> 560 * If your app requests this permission Facebook will have to review how your app uses it. 561 * 562 * @since June 1, 2020 563 */ 564 PAGES_MANAGE_POSTS("pages_manage_posts", Category.EVENTS_GROUPS_PAGES), // 565 566 /** 567 * The {@code pages_manage_engagement} permission allows your app the ability to create, edit, and delete comments 568 * posted on the Page. 569 * 570 * <p> 571 * If you have access to {@code pages_read_user_content}, you can also use {@code pages_manage_engagement} to delete 572 * comments posted by other Pages. 573 * 574 * <p> 575 * It also allows your app the ability to create and delete your own Page's likes to Page content. 576 * 577 * <p> 578 * You can use this permission if you need it to help manage and moderate content on the Page. 579 * 580 * <p> 581 * <strong>Review</strong> 582 * 583 * <p> 584 * If your app requests this permission Facebook will have to review how your app uses it. 585 * 586 * @since June 1, 2020 587 */ 588 PAGES_MANAGE_ENGAGEMENT("pages_manage_engagement", Category.EVENTS_GROUPS_PAGES), // 589 590 /** 591 * The private_computation_access permission allows an app to access the Meta Private Computation products. 592 * <p> 593 * <strong>Allowed Usage</strong> 594 * <ul> 595 * <li>Monitor private attribution datasets for a business.</li> 596 * <li>Monitor instances for private attribution datasets for a business.</li> 597 * <li>Create and manage instances for private attribution datasets for a business.</li> 598 * </ul> 599 */ 600 PRIVATE_COMPUTATION_ACCESS("private_computation_access", Category.OTHER), // 601 602 /** 603 * Gives an app the ability to post content into a group on behalf of a user who has granted the app this permission. 604 * 605 * <p> 606 * <strong>Review</strong> 607 * 608 * <p> 609 * If your app requests this permission Facebook will have to review how your app uses it. 610 * 611 * @deprecated no longer supported with Graph API 19.0 or after 22. April 2024 612 */ 613 @GraphAPI(since = "3.0", until = "19.0") 614 @Deprecated 615 PUBLISH_TO_GROUPS("publish_to_groups", Category.EVENTS_GROUPS_PAGES), // 616 617 /** 618 * Grants an app permission to publish live videos to the app User's timeline. 619 * 620 * <p> 621 * <strong>Review</strong> 622 * 623 * <p> 624 * If your app requests this permission Facebook will have to review how your app uses it. 625 */ 626 @GraphAPI(since = "3.1") 627 PUBLISH_VIDEO("publish_video", Category.LIVE_VIDEO), // 628 629 /** 630 * Gives your app the ability to receive member-related data on group content when a member has granted the app 631 * permission to do so. 632 * 633 * <p> 634 * <strong>Review</strong> 635 * 636 * <p> 637 * If your app requests this permission Facebook will have to review how your app uses it. 638 * 639 * @deprecated no longer supported with Graph API 19.0 or after 22. April 2024 640 */ 641 @GraphAPI(since = "3.0", until = "19.0") 642 @Deprecated 643 GROUPS_ACCESS_MEMBER_INFO("groups_access_member_info", Category.EVENTS_GROUPS_PAGES), // 644 645 /** 646 * Provides read-only access to the Audience Network Insights data for Apps the person owns. 647 * 648 * <p> 649 * <strong>Review</strong> 650 * 651 * <p> 652 * If your app requests this permission Facebook will have to review how your app uses it. 653 */ 654 @GraphAPI(since = "2.4") 655 READ_AUDIENCE_NETWORK_INSIGHTS("read_audience_network_insights", Category.OTHER), // 656 657 /** 658 * The research_apis permission allows your app to access data on public Facebook Pages, Groups, and Events within the 659 * Facebook Open Research and Transparency Tool. 660 * <p> 661 * <strong>Allowed Usage</strong> 662 * <p> 663 * Utilize public Facebook data for academic research. 664 */ 665 RESEARCH_APIS("research_apis", Category.OTHER), // 666 667 /** 668 * The read_insights permission allows your app to read the Insights data for Pages, apps and web domains the person 669 * owns. 670 * <p> 671 * <strong>Allowed Usage</strong> 672 * <ul> 673 * <li>Integrate Facebook's app, page or domain insights into your own analytics tools..</li> 674 * </ul> 675 */ 676 READ_INSIGHTS("read_insights", Category.OTHER), // 677 678 /** 679 * Provides the ability to set a person's attendee status on Facebook Events (eg attending, maybe, or declined). 680 * 681 * <p> 682 * This permission does not let you invite people to an event. 683 * 684 * <p> 685 * This permission does not let you update an event's details. 686 * 687 * <p> 688 * This permission does not let you create an event. There is no way to create an event via the API as of Graph API 689 * v2.0. 690 * 691 * <p> 692 * <strong>Review</strong> 693 * 694 * <p> 695 * If your app requests this permission Facebook will have to review how your app uses it. 696 */ 697 RSVP_EVENT("rsvp_event", Category.EVENTS_GROUPS_PAGES), // 698 699 /** 700 * Read and write with Business Management API 701 * 702 * <p> 703 * <strong>Review</strong> 704 * 705 * <p> 706 * If your app requests this permission Facebook will have to review how your app uses it. 707 */ 708 BUSINESS_MANAGEMENT("business_management", Category.EVENTS_GROUPS_PAGES), // 709 710 /** 711 * Grants your app the ability to create, read, update, and delete business owned product catalogs that the user is an 712 * admin of. This permission grants access to related endpoints. By default, your app may only access product catalogs 713 * that are owned by admins of the app when in developer mode. 714 * 715 * <p> 716 * <strong>Review</strong> 717 * 718 * <p> 719 * If your app requests this permission Facebook will have to review how your app uses it. 720 */ 721 CATALOG_MANAGEMENT("catalog_management", Category.EVENTS_GROUPS_PAGES), // 722 723 /** 724 * The gaming_user_locale permission allows your app to get a user's preferred language while the user plays a game on 725 * Facebook (for example, Instant Games or Cloud Gaming). 726 * <p> 727 * <strong>Allowed Usage</strong> 728 * <p> 729 * Display a game interface in the user's preferred language. 730 */ 731 GAMING_USER_LOCALE("gaming_user_locale", Category.EVENTS_GROUPS_PAGES), // 732 733 /** 734 * Grants your app permission to retrieve all the information captured within a 735 * <a href="https://developers.facebook.com/docs/marketing-api/guides/lead-ads/">lead.</a> 736 * 737 * <p> 738 * <strong>Review</strong> 739 * 740 * <p> 741 * If your app requests this permission Facebook will have to review how your app uses it. 742 */ 743 @GraphAPI(since = "3.1") 744 LEADS_RETRIEVAL("leads_retrieval", Category.EVENTS_GROUPS_PAGES), // 745 746 /** 747 * The {@code manage_app_solutions} permission allows an app to get a list of apps that a user can manage and make API 748 * calls on behalf of those apps. 749 * <p> 750 * The allowed usage for this permission is to let a business create and manage partner solutions between technology 751 * providers and solution partners. 752 */ 753 MANAGE_APP_SOLUTIONS("manage_app_solutions", Category.OTHER), // 754 755 /** 756 * The {@code manage_fundraisers} permission allows an app to create, update, and read a fundraiser and its donations 757 * on behalf of a user. 758 * <p> 759 * The allowed usage for this permission is to help fundraiser creators grow their reach on Facebook and synchronize 760 * fundraising totals with a linked Facebook fundraiser. 761 */ 762 MANAGE_FUNDRAISERS("manage_fundraisers", Category.OTHER), // 763 764 /** 765 * This allows you to send and receive messages through a Facebook Page out of the 24h window opened by a user action. 766 * 767 * <p> 768 * This permission cannot be used to send promotional or advertising content. 769 * 770 * <p> 771 * <strong>Review</strong> 772 * 773 * <p> 774 * If your app requests this permission Facebook will have to review how your app uses it. 775 */ 776 @GraphAPI(since = "2.6") 777 PAGES_MESSAGING_SUBSCRIPTIONS("pages_messaging_subscriptions", Category.MESSAGING), // 778 779 /** 780 * This allows you to charge users in Messenger conversations on behalf of pages. 781 * 782 * <p> 783 * Intended for tangible goods only, not virtual or subscriptions. 784 * 785 * <p> 786 * <strong>Review</strong> 787 * 788 * <p> 789 * If your app requests this permission Facebook will have to review how your app uses it. 790 */ 791 @GraphAPI(since = "2.6") 792 PAGES_MESSAGING_PAYMENTS("pages_messaging_payments", Category.MESSAGING), 793 794 // Instagram Platform permissions 795 796 /** 797 * Provides the ability to read Instagram accounts you have access to. 798 * 799 * <p> 800 * Please see <a href="https://developers.facebook.com/docs/instagram-api/getting-started">Instagram's Getting Started 801 * Guide</a> for details. 802 * 803 * <p> 804 * <strong>Review</strong> 805 * 806 * <p> 807 * If your app requests this permission Facebook will have to review how your app uses it. 808 */ 809 @GraphAPI(since = "2.5") 810 INSTAGRAM_BASIC("instagram_basic", Category.INSTAGRAM), 811 812 /** 813 * Provides the ability to read Instagram accounts you have access to. 814 * 815 * <p> 816 * Please see <a href="https://developers.facebook.com/docs/instagram-api/getting-started">Instagram's Getting Started 817 * Guide</a> for details. 818 * 819 * <p> 820 * <strong>Review</strong> 821 * 822 * <p> 823 * If your app requests this permission Facebook will have to review how your app uses it. 824 */ 825 @GraphAPI(since = "2.5") 826 INSTAGRAM_MANAGE_COMMENTS("instagram_manage_comments", Category.INSTAGRAM), 827 828 /** 829 * The {@code instagram_creator_marketplace_discovery} permission allows an app to discover creators on Instagram 830 * Creator Marketplace and access insights such as creator bio, follower count, and account reach for eligible 831 * creators. 832 * <p> 833 * The allowed usage for this permission is for eligible Instagram businesses to retrieve creator insight data for 834 * discovery and campaign evaluation. 835 */ 836 INSTAGRAM_CREATOR_MARKETPLACE_DISCOVERY("instagram_creator_marketplace_discovery", Category.INSTAGRAM), // 837 838 /** 839 * The {@code instagram_creator_marketplace_messaging} permission allows an app to retrieve a brand's partner 840 * conversations and a creator's messaging ID for partner messages. 841 * <p> 842 * The allowed usage for this permission is to allow brands in Instagram Creator Marketplace to message creators as 843 * part of paid partnership campaigns. 844 */ 845 INSTAGRAM_CREATOR_MARKETPLACE_MESSAGING("instagram_creator_marketplace_messaging", Category.INSTAGRAM), // 846 847 /** 848 * The {@code instagram_manage_contents} permission allows an app to delete posts, stories, or reels on behalf of an 849 * Instagram account connected to a Facebook Page. 850 * <p> 851 * The allowed usage for this permission is to let an app user delete Instagram media. 852 */ 853 INSTAGRAM_MANAGE_CONTENTS("instagram_manage_contents", Category.INSTAGRAM), // 854 855 /** 856 * The {@code instagram_manage_engagement} permission allows an app to create or delete likes for Instagram media, 857 * comments, and replies on behalf of an Instagram account connected to a Facebook Page. 858 * <p> 859 * The allowed usage for this permission is to let app users manage likes on Instagram media and comment objects. 860 */ 861 INSTAGRAM_MANAGE_ENGAGEMENT("instagram_manage_engagement", Category.INSTAGRAM), // 862 863 /** 864 * The instagram_manage_events permission allows an app permission to log events (e.g., purchase, add-to-cart, leads) 865 * on behalf of Instagram accounts administered by the app’s users. The allowed usage for this permission is to log 866 * events on Instagram accounts and send this activity data to Meta for ads targeting, optimization and reporting; and 867 * to provide marketing and advertising analytics insights. You may also use this permission to request analytics 868 * insights to improve your app and for marketing or advertising purposes, through the use of aggregated and 869 * de-identified or anonymized information (provided such data cannot be re-identified). 870 * <p> 871 * <strong>Allowed Usage</strong> 872 * <ul> 873 * <li>Get metadata of an Instagram Business account.</li> 874 * <li>Get data insights of an Instagram Business account.</li> 875 * <li>Get story insights of an Instagram Business account.</li> 876 * </ul> 877 */ 878 INSTAGRAM_MANAGE_EVENTS("instagram_manage_events", Category.INSTAGRAM), // 879 880 /** 881 * The {@code instagram_manage_upcoming_events} permission allows an app to read, create, and update upcoming events 882 * on behalf of Instagram accounts administered by people using the app. 883 * <p> 884 * The allowed usage for this permission is to manage upcoming events on Instagram accounts administered by app users. 885 */ 886 INSTAGRAM_MANAGE_UPCOMING_EVENTS("instagram_manage_upcoming_events", Category.INSTAGRAM), // 887 888 /** 889 * Provides the ability to read insights of Instagram account you have access to. 890 * 891 * <p> 892 * Please see <a href="https://developers.facebook.com/docs/instagram-api/getting-started">Instagram's Getting Started 893 * Guide</a> for details. 894 * 895 * <p> 896 * <strong>Review</strong> 897 * 898 * <p> 899 * If your app requests this permission Facebook will have to review how your app uses it. 900 */ 901 @GraphAPI(since = "2.5") 902 INSTAGRAM_MANAGE_INSIGHTS("instagram_manage_insights", Category.INSTAGRAM), 903 904 /** 905 * The instagram_manage_messages permission allows business users to read and respond to Instagram Direct messages. 906 * 907 * <p> 908 * Please see <a href="https://developers.facebook.com/docs/instagram-api/getting-started">Instagram's Getting Started 909 * Guide</a> for details. 910 * 911 * <p> 912 * <strong>Review</strong> 913 * 914 * <p> 915 * If your app requests this permission Facebook will have to review how your app uses it. 916 */ 917 INSTAGRAM_MANAGE_MESSAGES("instagram_manage_messages", Category.INSTAGRAM), 918 919 /** 920 * The instagram_shopping_tag_products permission allows an app to tag Instagram media with product tags and appeal 921 * product rejections. 922 * <p> 923 * <strong>Allowed Usage</strong> 924 * <ul> 925 * <li>Check eligibility for product tagging</li> 926 * <li>Get catalogs and products</li> 927 * <li>Tag media with product tags</li> 928 * <li>Manage existing product tags</li> 929 * <li>Appeal product rejections</li> 930 * </ul> 931 */ 932 INSTAGRAM_SHOPPING_TAG_PRODUCTS("instagram_shopping_tag_products", Category.INSTAGRAM), // 933 934 /** 935 * Provides the ability to publish content to Instagram account you have access to. 936 * 937 * <p> 938 * Please see <a href="https://developers.facebook.com/docs/instagram-api/reference/user/media_publish">Instagram's 939 * reference</a> for details. 940 * 941 * <p> 942 * <strong>Review</strong> 943 * 944 * <p> 945 * If your app requests this permission Facebook will have to review how your app uses it. 946 */ 947 @GraphAPI(since = "2.5") 948 INSTAGRAM_CONTENT_PUBLISH("instagram_content_publish", Category.INSTAGRAM), // 949 950 /** 951 * The instagram_branded_content_ads_brand permission allows an app to read Instagram posts where the app user's 952 * Instagram account is tagged as a paid partner, and an app user to read, request, and revoke permissions to run 953 * Partnership Ads. 954 * <p> 955 * <strong>Allowed Usage</strong> 956 * <ul> 957 * <li>Read Instagram posts where the account is tagged as a paid partner</li> 958 * <li>Manage permissions to run Partnership Ads without needing a pre-existing post</li> 959 * </ul> 960 */ 961 INSTAGRAM_BRANDED_CONTENT_ADS_BRAND("instagram_branded_content_ads_brand", Category.INSTAGRAM), // 962 963 /** 964 * The instagram_branded_content_brand permission allows your app to add, remove and view creators from a specific 965 * brand’s approved creators list. The allowed usage for this permission is to manage a specific brand’s Instagram 966 * creator content settings. You may also use this permission to request analytics insights to improve your app and 967 * for marketing or advertising purposes, through the use of aggregated and de-identified or anonymized information 968 * (provided such data cannot be re-identified). 969 * <p> 970 * <strong>Allowed Usage</strong> 971 * <ul> 972 * <li>Manage branded creator content settings on a business’ Instagram account.</li> 973 * </ul> 974 */ 975 INSTAGRAM_BRANDED_CONTENT_BRAND("instagram_branded_content_brand", Category.INSTAGRAM), // 976 977 /** 978 * The instagram_branded_content_creator permission allows your app to read and change the boost status of a creator’s 979 * specific piece of content. The allowed usage for this permission is to manage Instagram creator content settings. 980 * You may also use this permission to request analytics insights to improve your app and for marketing or advertising 981 * purposes, through the use of aggregated and de-identified or anonymized information (provided such data cannot be 982 * re-identified). 983 * <p> 984 * <strong>Allowed Usage</strong> 985 * <ul> 986 * <li>Read and change an Instagram creator’s content settings.</li> 987 * </ul> 988 */ 989 INSTAGRAM_BRANDED_CONTENT_CREATOR("instagram_branded_content_creator", Category.INSTAGRAM), // 990 991 /** 992 * The instagram_graph_user_media permission allows your app to read the Media node, which represents an image, video, 993 * or album and the node’s edges. 994 * 995 * <p> 996 * <strong>Review</strong> 997 * 998 * <p> 999 * If your app requests this permission Facebook will have to review how your app uses it. 1000 */ 1001 INSTAGRAM_GRAPH_USER_MEDIA("instagram_graph_user_media", Category.INSTAGRAM), // 1002 1003 /** 1004 * The instagram_graph_user_profile permission allows your app to read the app user's profile. 1005 * 1006 * <p> 1007 * <strong>Review</strong> 1008 * 1009 * <p> 1010 * If your app requests this permission Facebook will have to review how your app uses it. 1011 */ 1012 INSTAGRAM_GRAPH_USER_PROFILE("instagram_graph_user_profile", Category.INSTAGRAM), // 1013 1014 /** 1015 * The instagram_business_basic allows your app to read an Instagram Business account profile's info and media. 1016 * <p> 1017 * The allowed usage for this permission is to get basic metadata of an Instagram Business account profile, for 1018 * example username and ID. 1019 */ 1020 INSTAGRAM_BUSINESS_BASIC("instagram_business_basic", Category.INSTAGRAM_BUSINESS), // 1021 1022 /** 1023 * The instagram_business_manage_comments permission allows an app to access comments on an Instagram professional 1024 * account, as well as public posts and Instagram Stories where that account is tagged or mentioned in comments. The 1025 * allowed usage for this permission is to create, update and delete comments for an Instagram professional account. 1026 */ 1027 INSTAGRAM_BUSINESS_MANAGE_COMMENTS("instagram_business_manage_comments", Category.INSTAGRAM_BUSINESS), // 1028 1029 /** 1030 * The instagram_business_content_publish permission allows an app to create organic feed photo and video posts on 1031 * behalf of a business user. 1032 * <p> 1033 * The allowed usage of this permission is to allow an app to manage the organic content creation process for 1034 * Instagram (for example, post photos and videos) on behalf of an Instagram business account. You may also use this 1035 * permission to request analytics insights to improve your app and for marketing or advertising purposes, through the 1036 * use of aggregated and de-identified or anonymized information (provided such data cannot be re-identified). 1037 */ 1038 INSTAGRAM_BUSINESS_CONTENT_PUBLISH("instagram_business_content_publish", Category.INSTAGRAM_BUSINESS), // 1039 1040 /** 1041 * The instagram_business_manage_messages permission allows an app to access messages on an Instagram professional 1042 * account. 1043 * <p> 1044 * The allowed usage for this permission is to view, manage and respond to messages, and to use third-party customer 1045 * relationship management (CRM) tools to manage messages. 1046 */ 1047 INSTAGRAM_BUSINESS_MANAGE_MESSAGES("instagram_business_manage_messages", Category.INSTAGRAM_BUSINESS), // 1048 1049 /** 1050 * The instagram_business_manage_insights permission allows an app to fetch insights for an Instagram Business account 1051 * when using Business Login for Instagram. 1052 * <p> 1053 * According to: <a href="https://developers.facebook.com/docs/instagram-platform/insights">Instagram Platform 1054 * Insights</a> 1055 */ 1056 INSTAGRAM_BUSINESS_MANAGE_INSIGHTS("instagram_business_manage_insights", Category.INSTAGRAM_BUSINESS), // 1057 /** 1058 * The user_media permission allows your app to read the Media node, which represents an image, video, or album and 1059 * the node’s edges using the Instagram Basic Display API. 1060 * 1061 * <p> 1062 * <strong>Review</strong> 1063 * 1064 * <p> 1065 * If your app requests this permission Facebook will have to review how your app uses it. 1066 */ 1067 USER_MEDIA("user_media", Category.INSTAGRAM_BASIC_DISPLAY), // 1068 1069 /** 1070 * The user_profile permission allows your app to read the app user's profile using the Instagram Basic Display API. 1071 * 1072 * <p> 1073 * <strong>Review</strong> 1074 * 1075 * <p> 1076 * If your app requests this permission Facebook will have to review how your app uses it. 1077 */ 1078 USER_PROFILE("user_profile", Category.INSTAGRAM_BASIC_DISPLAY), // 1079 1080 /** 1081 * The {@code whatsapp_business_manage_events} permission allows an app to log events, such as purchases, add-to-cart 1082 * actions, and leads, on behalf of a WhatsApp business account managed by an app user. 1083 * <p> 1084 * The allowed usage for this permission is to log events on WhatsApp business accounts and send event activity data 1085 * to Meta for ads targeting, optimization, and reporting. 1086 */ 1087 WHATSAPP_BUSINESS_MANAGE_EVENTS("whatsapp_business_manage_events", Category.WHATSAPP), // 1088 1089 /** 1090 * Provides the ability to read and/or manage WhatsApp business assets you own or have been granted access to by other 1091 * businesses through this permission. 1092 * <p> 1093 * These business assets include WhatsApp business accounts, phone numbers, and message templates. 1094 * 1095 * <p> 1096 * Please see <a href= 1097 * "https://developers.facebook.com/docs/facebook-login/permissions/#reference-whatsapp_business_management">Whatsapps's 1098 * reference</a> for details. 1099 * 1100 * <p> 1101 * <strong>Review</strong> 1102 * 1103 * <p> 1104 * If your app requests this permission Facebook will have to review how your app uses it. 1105 */ 1106 WHATSAPP_BUSINESS_MANAGEMENT("whatsapp_business_management", Category.WHATSAPP), 1107 1108 /** 1109 * The `whatsapp_business_messaging` permission allows an app to send WhatsApp messages to a specific phone number, 1110 * upload and retrieve media from messages, manage and get WhatsApp business profile information, and to register 1111 * those phone numbers with Meta. 1112 * 1113 * <p> 1114 * Please see 1115 * <a href= "https://developers.facebook.com/docs/permissions/reference/whatsapp_business_messaging">Whatsapps's 1116 * reference</a> for details. 1117 * 1118 * <p> 1119 * <strong>Review</strong> 1120 * 1121 * <p> 1122 * If your app requests this permission Facebook will have to review how your app uses it. 1123 */ 1124 WHATSAPP_BUSINESS_MESSAGING("whatsapp_business_messaging", Category.WHATSAPP), 1125 1126 /** 1127 * The {@code threads_basic} permission allows an app to get a user's Threads profile information and the media and 1128 * text content that they posted to Threads. 1129 * <p> 1130 * The allowed usage for this permission is to display a user’s own Threads posts within an app, and make these 1131 * visible only to the user who created them. You may also use this permission to request analytics insights to 1132 * improve your app and for marketing or advertising purposes, through the use of aggregated and de-identified or 1133 * anonymized information (provided such data cannot be re-identified). 1134 * <p> 1135 * <strong>Allowed Usage</strong> 1136 * <ul> 1137 * <li>Display a user’s own Threads posts within an app, and make these visible only to the user who created them</li> 1138 * </ul> 1139 * <p> 1140 * <strong>Review</strong> 1141 * 1142 * <p> 1143 * If your app requests this permission Facebook will have to review how your app uses it. 1144 */ 1145 THREADS_BASIC("threads_basic", Category.THREADS), 1146 1147 /** 1148 * The threads_business_basic permission allows an app to fetch the Threads account ID that is connected to an 1149 * Instagram account. 1150 * <p> 1151 * The allowed usage for this permission is to retrieve a Threads account ID to use as the {@code }threads_user_id} 1152 * during the creation of ads on Threads. You may also use this permission to request analytics insights to improve 1153 * your app and for marketing or advertising purposes, through the use of aggregated and de-identified or anonymized 1154 * information (provided such data cannot be re-identified). 1155 */ 1156 THREADS_BUSINESS_BASIC("threads_business_basic", Category.THREADS), 1157 1158 /** 1159 * The {@code threads_content_publish} permission allows an app to create and publish content on behalf of a Threads 1160 * profile. 1161 * <p> 1162 * The allowed usage for this permission is to enable an app user to create and publish content to their Threads 1163 * profile. You may also use this permission to request analytics insights to improve your app and for marketing or 1164 * advertising purposes, through the use of aggregated and de-identified or anonymized information (provided such data 1165 * cannot be re-identified). 1166 * <p> 1167 * <strong>Allowed Usage</strong> 1168 * <ul> 1169 * <li>Enables an app user to create and publish content to their Threads profile</li> 1170 * </ul> 1171 * 1172 * <p> 1173 * <strong>Review</strong> 1174 * <p> 1175 * If your app requests this permission Facebook will have to review how your app uses it. 1176 */ 1177 THREADS_CONTENT_PUBLISH("threads_content_publish", Category.THREADS), 1178 1179 /** 1180 * The {@code threads_manage_insights} permission allows your app to get access to insights for a Threads profile. 1181 * <p> 1182 * The allowed usage for this permission is to allow your app to get insights for a Threads profile and for individual 1183 * threads published by that profile. You may also use this permission to request analytics insights to improve your 1184 * app and for marketing or advertising purposes, through the use of aggregated and de-identified or anonymized 1185 * information (provided such data cannot be re-identified). 1186 * <p> 1187 * <strong>Allowed Usage</strong> 1188 * <ul> 1189 * <li>Get insights for a Threads profile</li> 1190 * <li>Get insights for individual threads published by that profile</li> 1191 * </ul> 1192 * 1193 * <p> 1194 * <strong>Review</strong> 1195 * <p> 1196 * If your app requests this permission Facebook will have to review how your app uses it. 1197 */ 1198 THREADS_MANAGE_INSIGHTS("threads_manage_insights", Category.THREADS), 1199 1200 /** 1201 * The {@code threads_manage_replies} permission allows an app to create a reply on behalf of a Threads profile, hide 1202 * or unhide replies to a thread, and control who can reply to a thread on the Threads profile. 1203 * <p> 1204 * The allowed usage of this permission is to allow an app to create a reply on behalf of a Threads profile, hide or 1205 * unhide replies to a thread, and control who can reply to a thread on the Threads profile. You may also use this 1206 * permission to request analytics insights to improve your app and for marketing or advertising purposes, through the 1207 * use of aggregated and de-identified or anonymized information (provided such data cannot be re-identified). 1208 * <p> 1209 * <strong>Allowed Usage</strong> 1210 * <ul> 1211 * <li>Create a reply on behalf of a Threads profile</li> 1212 * <li>Hide or unhide replies to a thread</li> 1213 * <li>Control who can reply to a thread on the Threads profile</li> 1214 * </ul> 1215 * 1216 * <p> 1217 * <strong>Review</strong> 1218 * <p> 1219 * If your app requests this permission Facebook will have to review how your app uses it. 1220 */ 1221 THREADS_MANAGE_REPLIES("threads_manage_replies", Category.THREADS), 1222 1223 /** 1224 * The {@code }threads_profile_discovery} permission allows an app to access profiles for public Threads accounts and 1225 * public posts of these accounts. 1226 * <p> 1227 * The allowed usage for this permission is to allow the app's users to find profiles of public Threads accounts and 1228 * public posts of these accounts to conduct competitor analyses. 1229 */ 1230 THREADS_PROFILE_DISCOVERY("threads_profile_discovery", Category.THREADS), 1231 1232 /** 1233 * The {@code threads_read_replies} permission allows an app to read replies to a user's thread. 1234 * <p> 1235 * The allowed usage for this permission is to get replies to a thread owned by the app user. You may also use this 1236 * permission to request analytics insights to improve your app and for marketing or advertising purposes, through the 1237 * use of aggregated and de-identified or anonymized information (provided such data cannot be re-identified). 1238 * <p> 1239 * <strong>Allowed Usage</strong> 1240 * <ul> 1241 * <li>Get replies to a thread owned by the app user</li> 1242 * </ul> 1243 * 1244 * <p> 1245 * <strong>Review</strong> 1246 * <p> 1247 * If your app requests this permission Facebook will have to review how your app uses it. 1248 */ 1249 THREADS_READ_REPLIES("threads_read_replies", Category.THREADS), 1250 1251 /** 1252 * The {@code threads_share_to_instagram} permission allows an app to post an app user's Threads post to their linked 1253 * Instagram account on behalf of the user. 1254 * <p> 1255 * The allowed usage for this permission is to let a user share Threads content to their linked Instagram account, as 1256 * a one-time action or automatically for future posts. 1257 */ 1258 THREADS_SHARE_TO_INSTAGRAM("threads_share_to_instagram", Category.THREADS), 1259 1260 /** 1261 * The {@code threads_location_tagging} permission allows an app to search for and fetch public locations using 1262 * specific queries/keywords or coordinates on behalf of a Threads user and publish media with a location tagged. 1263 * <p> 1264 * The allowed usage for this permission is to help users tag public locations to their posts and request locations 1265 * when media is retrieved 1266 */ 1267 THREADS_LOCATION_TAGGING("threads_location_tagging", Category.THREADS), 1268 1269 /** 1270 * The {@code threads_manage_mentions} permission allows an app to fetch content where the user is mentioned in on 1271 * behalf of a Threads user. 1272 * <p> 1273 * The allowed usage for this permission is to help the user manage their social media presence, which includes: 1274 * showing public content and the public content tree that a user is mentioned in, enabling the user to sort user’s 1275 * own mentioned threads, and enabling the user to publish responses to the public content tree that the user is 1276 * mentioned in. 1277 * <p> 1278 * You may also use this permission to request analytics insights to improve your app and for marketing or advertising 1279 * purposes, through the use of aggregated and de-identified or anonymized information (provided such data cannot be 1280 * re-identified). 1281 * 1282 * <p> 1283 * <strong>Allowed Usage</strong> 1284 * <ul> 1285 * <li>Showing public content and the public content tree that a user is mentioned in.</li> 1286 * <li>Giving the user the ability to sort user’s own mentioned threads.</li> 1287 * <li>Giving the user the ability to publish responses to public content that a user is mentioned in.</li> 1288 * </ul> 1289 * <p> 1290 * <strong>Review</strong> 1291 * <p> 1292 * If your app requests this permission Facebook will have to review how your app uses it. 1293 */ 1294 THREADS_MANAGE_MENTIONS("threads_manage_mentions", Category.THREADS), 1295 1296 /** 1297 * The {@code threads_keyword_search} permission allows an app to search and fetch content with a specific keyword on 1298 * behalf of a Threads user. 1299 * <p> 1300 * The permission also allows for publishing responses to this fetched content. The allowed usage for this permission 1301 * is to help the user manage their social media presence. You may also use this permission to request analytics 1302 * insights to improve your app and for marketing or advertising purposes, through the use of aggregated and 1303 * de-identified or anonymized information (provided such data cannot be re-identified). 1304 * <p> 1305 * <strong>Allowed Usage</strong> 1306 * <ul> 1307 * <li>Showing public content and the public content tree that a user searches using a specific keyword.</li> 1308 * <li>Giving the user the ability to sort user’s own mentioned threads.</li> 1309 * <li>Giving the user the ability to publish responses to public content that the user searches for.</li> 1310 * </ul> 1311 * <p> 1312 * <strong>Review</strong> 1313 * <p> 1314 * If your app requests this permission Facebook will have to review how your app uses it. 1315 */ 1316 THREADS_KEYWORD_SEARCH("threads_keyword_search", Category.THREADS), 1317 1318 /** 1319 * The {@code threads_delete} permission allows an app to delete an app user's Threads posts. 1320 * <p> 1321 * <strong>Allowed Usage</strong> 1322 * <ul> 1323 * <li>The allowed usage for this permission is to delete an app user's Thread posts</li> 1324 * </ul> 1325 * <p> 1326 * <strong>Review</strong> 1327 * <p> 1328 * If your app requests this permission Facebook will have to review how your app uses it. 1329 */ 1330 THREADS_DELETE("threads_delete", Category.THREADS), 1331 1332 /** 1333 * The commerce_account manage_orders permission allows your app to read and update commerce account orders. 1334 * 1335 * <p> 1336 * <strong>Allowed Usage</strong> 1337 * <ul> 1338 * <li>Read orders in your commerce account.</li> 1339 * <li>Tech providers manage orders on behalf of their customers.</li> 1340 * <li>Access to Webhook notifications.</li> 1341 * </ul> 1342 */ 1343 COMMERCE_ACCOUNT_MANAGE_ORDERS("commerce_account_manage_orders", Category.COMMERCE), 1344 1345 /** 1346 * The commerce_account_read_orders permission allows your app to read commerce account orders. 1347 * <p> 1348 * <strong>Allowed Usage</strong> 1349 * <ul> 1350 * <li>Read orders in your commerce account.</li> 1351 * <li>Use the buyer's email address for marketing purposes only if a buyer has opted-in at checkout.</li> 1352 * </ul> 1353 */ 1354 COMMERCE_ACCOUNT_READ_ORDERS("commerce_account_read_orders", Category.COMMERCE), 1355 1356 /** 1357 * The commerce_account_read_reports permission allows your app to read finance reporting data to build custom tax, 1358 * cash reconciliation and reimbursement reports for a commerce account. 1359 * <p> 1360 * <strong>Allowed Usage</strong> 1361 * <ul> 1362 * <li>Read finance reporting data in your commerce account for building custom tax cash reconciliation and 1363 * reimbursement reports.</li> 1364 * <li>Tech providers can run finance reports on behalf of their customers.</li> 1365 * </ul> 1366 */ 1367 COMMERCE_ACCOUNT_READ_REPORTS("commerce_account_read_reports", Category.COMMERCE), 1368 1369 /** 1370 * The commerce_account_read_settings permission allows your app to read commerce account settings. Allowed Usage 1371 * <ul> 1372 * <li>Read basic commerce account information like connected channels, shipping options, fulfillment locations, etc. 1373 * </ul> 1374 */ 1375 COMMERCE_ACCOUNT_READ_SETTINGS("commerce_account_read_settings", Category.COMMERCE), 1376 1377 /** 1378 * The commerce_manage_accounts permission allows your app to create and manage commerce accounts, such as an 1379 * ecommerce app 1380 * <p> 1381 * <strong>Allowed Usage</strong> 1382 * <ul> 1383 * <li>Associate your app with your commerce account.</li> 1384 * <li>Tech providers create a commerce account on behalf of their customers.</li> 1385 * <li>Tech providers enable a new sales channel within their customer’s commerce account.</li> 1386 * </ul> 1387 */ 1388 COMMERCE_MANAGE_ACCOUNTS("commerce_manage_accounts", Category.COMMERCE), 1389 1390 ; 1391 1392 private final String permissionString; 1393 1394 private final Category category; 1395 1396 FacebookPermissions(String facebookPermissionString, Category category) { 1397 this.permissionString = facebookPermissionString; 1398 this.category = category; 1399 } 1400 1401 public String getPermissionString() { 1402 return this.permissionString; 1403 } 1404 1405 public Category getCategory() { 1406 return this.category; 1407 } 1408 1409 public enum Category { 1410 PUBLIC, USER_DATA, EVENTS_GROUPS_PAGES, OTHER, MESSAGING, INSTAGRAM, INSTAGRAM_BASIC_DISPLAY, LIVE_VIDEO, WHATSAPP, COMMERCE, INSTAGRAM_BUSINESS, THREADS 1411 } 1412}