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

运行Uber API代码报错:AttributeError: 'str' object has no attribute 'is_stale'

问题原因与解决方案

问题原因

你错误地将字符串格式的访问令牌直接传给了Session类的oauth2credential参数。该参数要求传入的是OAuth2Credential对象,而非纯字符串。当代码后续尝试调用credential.is_stale()方法时,由于当前credential是字符串类型,不存在该方法,因此抛出AttributeError。

修正后的代码

from uber_rides.session import Session, OAuth2Credential
from uber_rides.client import UberRidesClient

ACCESS_TOKEN = "[redacted]"

# 先创建OAuth2Credential对象,替换原字符串直接传入的方式
credential = OAuth2Credential(
    access_token=ACCESS_TOKEN,
    expires_in_seconds=86400,  # 根据你的令牌实际有效期调整,示例为1天
    scopes=[],  # 若需特定权限范围,可在此添加,如['request']
    grant_type='authorization_code'  # 根据你的授权类型修改,如client_credentials
)

session = Session(oauth2credential=credential)
client = UberRidesClient(session)

response = client.get_products(37.77, -122.41)

说明

通过先实例化OAuth2Credential对象,将其传入Session,就能满足客户端对凭证对象的方法调用要求,解决is_stale属性不存在的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:40:34