如何通过Facebook Graph API获取Facebook主页的overall_star_rating?
你遇到的(#200) Access to this data is temporarily disabled...错误,是Facebook对非活跃应用或长期未访问特定数据的应用施加的权限限制,下面是几个针对性的解决方法:
检查应用活跃状态
Facebook会将长期无用户交互、无API调用的应用标记为非活跃状态,这类应用会被限制访问部分敏感数据(包括主页评分)。你可以登录Facebook开发者后台,查看你的应用状态,确保它处于"活跃"状态。如果是测试应用,可能需要重新激活或切换到正式应用环境。重新确认并获取必要权限
获取主页overall_star_rating需要pages_show_list和pages_read_engagement权限。如果你的应用近期没有使用过这些权限,或者权限已过期,需要:- 在开发者后台的应用权限设置中,确认这两个权限已添加;
- 使用主页管理员账号重新为应用授权,确保token包含这些权限;
- 若应用是公开上线状态,可能需要重新提交权限审核,通过后才能正常访问。
升级API版本
你当前使用的是v2.12版本的Graph API,这个版本非常老旧,Facebook后续对权限体系和API端点做了大量更新。建议升级到较新的稳定版本(比如v18.0),新版本的权限逻辑更清晰,也能避免因版本兼容问题导致的限制。验证Access Token有效性
确认你的access_token未过期,且拥有访问目标主页的权限。可以在Facebook开发者后台的Access Token Debugger工具中,输入token查看其权限范围、有效期以及关联的主页信息,确保它包含访问主页评分的权限。
最后,你可以先尝试用测试账号或主页管理员账号重新授权应用,再发起如下格式的请求(建议更新API版本):
GET https://graph.facebook.com/v18.0/1984193321812400?fields=overall_star_rating&access_token=你的有效token
内容的提问来源于stack exchange,提问作者Tintin81

