使用Tweepy调用Twitter学术API遇SyntaxError: invalid decimal literal错误
解决Twitter API Bearer Token引发的SyntaxError: invalid decimal literal错误
问题根源
这个错误的核心原因很明确:你没有把Bearer Token当作字符串来处理。Twitter的Bearer Token包含%开头的URL编码字符(比如%3D、%2F),如果直接在代码里写Token却不用引号包裹,Python会把%识别为格式化/模运算符号,而后面的字符并非合法十进制数字,因此触发报错。
修复方法
直接给你的Bearer Token加上单引号、双引号或三引号,将其转为合法字符串即可:
# 单引号包裹 bearer_token = '你的完整Bearer Token' # 双引号包裹 bearer_token = "你的完整Bearer Token" # 三引号(避免引号冲突时用) bearer_token = '''你的完整Bearer Token'''
额外验证步骤
- 复制Token时确保完整,不要遗漏首尾字符,也别多带空格。
- 重新生成Token后直接粘贴到引号内部,不要手动修改Token里的任何字符(包括
%开头的编码段)。 - 可以先打印Token确认是否正确:
能完整输出你的Token,就说明字符串定义没问题,再继续调用API。print(bearer_token)
避坑提示
不要尝试解码Token里的%xx编码——Twitter API要求直接使用原始的Bearer Token,解码后反而会导致身份验证失败。
内容的提问来源于stack exchange,提问作者Mattia Begali
相关产品推荐
相关产品推荐

