Facebook Login for Business未授予配置中全部权限问题求助
针对你遇到的普通企业用户仅能获取public_profile和business_management权限、开发者账号可正常拿到全部5项权限的问题,给你几个排查方向:
检查权限与企业资产的绑定关系
缺失的3项权限大概率和特定企业资产(比如广告账户、公共主页、像素)绑定了。开发者因为有主/客户企业的全权限,自然能访问这些资产对应的权限,但普通用户需要先在Business Manager里被分配对应资产的访问权限——比如要拿到ads_management,得给用户添加广告账户的「广告管理」权限;要pages_manage_posts就得给用户开公共主页的「编辑」权限。分配完权限让用户重新授权试试。核实Login for Business配置的权限范围
打开Business Manager里你用的那个{facebookConfigurationId}对应的Login配置,检查权限的受众设置。如果设置成了「仅限关联企业的开发者角色」,普通用户自然拿不到全部权限,得改成允许所有关联企业的用户获取这些权限。确认权限的审核覆盖范围
如果缺失的是需要Facebook审核的高级权限(比如ads_read、pages_manage_metadata),要去App Review页面看权限的获批状态——有时候权限只获批给主企业的开发者账号,没覆盖到关联企业的普通用户。如果是这种情况,需要补充提交关联企业的信息,申请扩大权限覆盖范围。排查前端初始化的潜在冲突
虽然你用了data-config_id,但如果前端初始化Facebook SDK时的代码有冲突,也可能导致权限请求被覆盖。可以检查SDK初始化代码,确保没有手动指定权限列表覆盖配置ID里的设置。另外,确认配置ID对应的配置项里,确实完整勾选了那5项权限,没漏选。重置用户的授权状态
有些用户之前可能拒绝过某些权限,Facebook会默认不再请求。让用户去Facebook的「设置与隐私-应用和网站」里取消对该应用的授权,然后重新登录授权,看看能不能看到完整的权限请求弹窗。
附你提供的登录按钮代码:
<div id="facebook-login-button" className="fb-login-button" data-width="" data-size="medium" data-button-type="" data-layout="" data-auto-logout-link="false" data-use-continue-as="false" data-config_id={facebookConfigurationId} data-onlogin="onFacebookLogin" ></div>
内容的提问来源于stack exchange,提问作者KingOfArrows

