Linux环境下Python调用Bing Ads API报错问题咨询
Linux环境下Python调用Bing Ads API的问题解决
可以在Linux环境下使用Python调用Bing Ads API,官方完全支持跨平台运行,你遇到的报错是脚本迁移中的具体代码问题,而非平台不支持导致。以下是针对报错的解决步骤:
错误1:OSError: [Errno 36] File name too long: 'name'
问题原因
save_refresh_token函数中,REFRESH_TOKEN变量被错误赋值为过长的字符串(或令牌内容),而非合法的文件名路径。脚本尝试以这个过长的字符串作为文件名打开文件,触发系统报错。
解决方法
- 检查脚本中
REFRESH_TOKEN变量的定义,将其设置为一个合法的本地文件名(例如"./bing_ads_refresh_token.txt"),而非直接存储令牌内容。 - 确保脚本对目标文件所在目录拥有写入权限,Linux下可通过
chmod调整目录权限,或使用用户有权限的路径(比如用户家目录下的文件夹)。
错误2:NameError: name 'OAuthTokenRequestException' is not defined
问题原因
代码中引用了OAuthTokenRequestException异常类,但未从bingads库中导入该类,导致Python无法识别。
解决方法
在脚本顶部添加导入语句:
from bingads.authorization import OAuthTokenRequestException
确保导入路径与你的bingads版本(v13)匹配,若版本不同可查阅对应版本的库文档调整导入路径。
额外注意事项
- 如果你的Linux环境是无GUI的服务器,原脚本中的
OAuthDesktopMobileAuthCodeGrant桌面授权流可能无法正常工作(需要弹出浏览器获取用户同意)。建议改用设备授权流,通过命令行获取用户授权。 - 执行
pip install --upgrade bingads确保使用最新版本的库,避免因版本兼容问题导致的异常。
内容的提问来源于stack exchange,提问作者dspassion
相关产品推荐
相关产品推荐

