You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Facebook Graph API报错:Unsupported get request. Object ID 'me'不存在

解决Facebook Graph API "/me" 端点报错问题

你碰到的这个「Unsupported get request. Object with ID 'me' does not exist」报错,在Graph API场景里大多和访问令牌、权限或者API版本相关——毕竟之前能正常跑,现在突然失效,大概率是某个依赖项出了变动。我给你梳理几个实用的排查方向:

1. 先验证访问令牌的有效性

  • 用Facebook官方的访问令牌调试工具检查你的$access_token:看看它是否过期、被用户撤销,或者权限范围是否包含public_profile(获取id和name必须的基础权限)。如果令牌失效或权限不足,API自然无法识别「me」对应的用户身份。
  • 特别注意:如果你的令牌是应用访问令牌(比如用app_id|app_secret生成的那种),而不是用户授权后的用户访问令牌,调用/me肯定会报错——「me」只对用户令牌有效,应用令牌没有关联的用户身份。

2. 尝试升级Graph API版本

你当前用的是v3.0,这个版本已经非常老旧了,Facebook会逐步淘汰旧版本的API端点,部分行为可能已经发生变更。建议升级到最新的稳定版本(比如v18.0),修改代码里的版本参数试试:

$fb = new \Facebook\Facebook([ 
    'app_id' => config('config.fb_app_id'), 
    'app_secret' => config('config.fb_app_secret'), 
    'default_graph_version' => 'v18.0', 
]);

3. 简化SDK调用方式排查

你的代码手动构造了Request对象,或许可以试试SDK推荐的简化调用方式,避免构造过程中出现的潜在问题:

$fb->setDefaultAccessToken($access_token);
// 直接用get方法发起请求
$response = $fb->get('/me?fields=id,name');
$userData = $response->getDecodedBody();

如果这种方式能正常运行,那说明之前的Request构造逻辑可能有疏漏。

4. 检查应用状态与平台配置

  • 确认你的Facebook应用处于「Live」状态:如果是开发模式,只有添加到测试用户列表的账号才能调用API,普通用户的请求会被拒绝。
  • 检查平台配置(比如Web平台的重定向URI):如果配置的URI和实际授权时的URI不匹配,生成的令牌可能无法通过验证,也会导致「me」无法识别。

我之前处理过类似的问题,当时就是用户撤销了应用权限,重新引导用户授权获取新的令牌就解决了。你可以按照上面的步骤逐一排查,应该能快速定位问题~

内容的提问来源于stack exchange,提问作者Ronak Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:38:12