You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Python调用Facebook Graph API获取数据时遇OAuthException错误求助

解决Facebook Graph API的OAuthException(代码2500)错误

嘿,我一眼就看到问题所在了,咱们一步步来拆解:

首先,这个OAuthException(代码2500)的核心意思是:Graph API没识别到有效的访问令牌,所以没法帮你查询当前用户的信息。具体到你的代码,有两个关键问题:

1. URL参数拼接错误(最直接的诱因)

你写的URL拼接代码里,access_token后面少了等于号(=)
原代码里的这行:

me = 'https://graph.facebook.com/v2.9/me?access_token'+token

拼接后会变成:https://graph.facebook.com/v2.9/me?access_tokenV4NzPkk55gXZAPr4FFTwgJGyosZBafEujZCeyebq4UZANIac226ZBcxgC7zTD9f57
看到没?access_token和你的令牌直接连在一起了,API根本认不出这是一个合法的参数,自然判定你没提供有效令牌。

2. 令牌本身可能无效(次要但需注意)

就算补上等于号,你用的这个令牌也可能是无效的——比如它已经过期、没有足够的权限访问/me端点,或者只是一个测试用的假令牌。不过先解决第一个问题再验证这个。

修正后的代码

我帮你把代码改好了,用f-string拼接更清晰,也补上了关键的等于号:

import requests
token = 'V4NzPkk55gXZAPr4FFTwgJGyosZBafEujZCeyebq4UZANIac226ZBcxgC7zTD9f57'
# 用f-string保证参数格式正确
me = f'https://graph.facebook.com/v2.9/me?access_token={token}'
me1 = requests.get(me)
print(me1.text)

额外提醒

  • 一定要确保你的令牌是通过Facebook官方的OAuth授权流程获取的,并且申请了访问用户基本信息的权限(比如public_profile
  • 你用的API版本是v2.9,这版本太老了,Facebook早就停止对旧版本的支持了,建议升级到最新的稳定版本,避免出现更多兼容性问题
  • 绝对不要把真实的访问令牌硬编码在代码里,尤其是公开分享代码的时候,这会严重威胁你的账号安全!

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

火山引擎 最新活动