求助:Facebook Graph API无法返回Page Events(非重复问题)
我之前处理过好几起类似的Facebook API调用异常,给你几个实用的排查方向,应该能解决问题:
先检查访问令牌的权限与有效性
这是最常见的原因!你需要确保手里的访问令牌拥有pages_show_list和events_read这两个核心权限,而且令牌必须关联到有权限查看该Page活动的账号。可以在API Explorer里直接查看令牌的权限列表,要是令牌过期、权限被撤销,或者用的是没有Page访问权限的用户令牌,都会返回空数组。另外,优先用Page专属访问令牌(通过Page角色生成的那种),比普通用户令牌稳定性高很多。立刻升级API版本
你现在用的是v2.12版本,这个版本已经超老旧了——Facebook当前的稳定API版本都到v18+了。虽然你没找到公开的端点变更公告,但旧版本的API经常会被平台悄悄限制功能,甚至逐步停用。赶紧切换到最新的稳定版本(比如v18.0)再测试,大概率能解决问题。核对Page的活动隐私设置
去目标Page的后台看看活动的隐私配置:如果活动设为私密,或者Page本身有区域、年龄访问限制,API是不会返回这些受限活动的。另外,确认Page没有违反平台政策被限制(不过这种情况一般会返回明确的错误信息,而不是空数组)。确认Page ID和端点路径是否正确
再核对一遍你调用的Page ID是不是和目标Page的真实ID一致——有时候复制ID的时候会出错,或者Page的ID因为某些原因变更了(虽然很少见)。可以通过Page的官方页面获取正确ID,或者用API调用me/accounts获取你账号关联的所有Page列表,对比确认ID无误。排除测试工具的缓存问题
API Explorer偶尔会有缓存残留,导致返回旧的空结果。试试清空浏览器缓存,或者重新生成一个新的访问令牌再调用。也可以换用Postman之类的第三方工具直接发起请求,排除Explorer本身的问题。
内容的提问来源于stack exchange,提问作者Codemole

