Xcode iOS应用调用Facebook API获取评论用户信息权限问题
无法获取Facebook帖子评论中的用户名/用户ID问题排查
问题背景
使用Xcode开发iOS应用,用于处理个人Facebook主页帖子下的评论,已获取权限:public_profile、email、pages_show_list、pages_read_user_content、pages_read_engagement,但调用帖子接口时无法获取评论发布者的用户名或用户ID。请求的API地址为:
https://graph.facebook.com/v23.0/{post_id}?fields=comments{from,id}/access_token={access_token}
问题排查与解决方案
1. API请求URL格式错误
你当前的URL中,access_token参数的连接符使用了/,这是语法错误,正确的参数分隔符应该是&。同时原请求里的comments{from,id}存在字段逻辑问题:其中的id是评论自身的ID,而非评论发布者的ID。若要获取发布者的ID和用户名,需明确指定嵌套字段。正确的请求地址应为:
https://graph.facebook.com/v23.0/{post_id}?fields=comments{from{id,name}}&access_token={access_token}
2. 访问令牌类型错误
确保你使用的是对应Facebook主页的页面访问令牌,而非个人用户访问令牌:
- 读取主页帖子的评论必须使用主页专属的页面令牌,即使个人用户令牌拥有
pages_read_engagement等权限,也无法直接访问主页的评论数据。 - 可通过Facebook令牌调试工具验证当前令牌的类型、权限范围是否符合要求。
3. 权限生效验证
即使你申请了相关权限,也需要确认:
- 页面令牌已正确继承
pages_read_engagement和pages_read_user_content权限(部分情况下需要重新生成令牌以同步权限)。 - 你的Facebook主页未设置特殊隐私限制,导致评论数据无法通过API读取。
内容的提问来源于stack exchange,提问作者Mr.Schtelbe
相关产品推荐
相关产品推荐

