Python 通过Lyft Api的脚本自动化三因素身份验证
我正在尝试使用python API访问Lyft数据。具体来说,我正在尝试访问 然而,响应数据中的喘振率始终为0,即使在喘振时间内也是如此,我已经诊断出这是因为我没有使用三条腿身份验证 从 用于访问用户特定端点的三腿流。 搭便车 请求或以其他方式访问用户数据,用户必须授予您 通道没有Lyft帐户的用户将被提示创建 一个新的帐户,如果他们被引导通过以下流程 从 授权 如果您需要访问Lyft用户的帐户以发出请求 代表他们,你将经历一个“三条腿”的流程。在这种情况下,, 您需要用户通过 OAuth 2.0授权代码流。参见Lyft API文档 授权代码流是一个两步授权过程。这个 第一步是让用户授权你的应用程序,第二步是 涉及从Lyft请求OAuth 2.0访问令牌。这个过程 如果要代表用户或访问权限执行操作,则为必填项 他们的信息 将用户导航到auth_url,在那里他们可以授予对您的url的访问权限 应用之后,它们将被重定向到带有 格式化重定向\ URL?代码=唯一的\验证\代码。使用此重定向url来 创建会话并启动客户端 将凭据信息保存在安全的数据存储中,并将其重新用于 代表您的用户进行API调用。SDK将处理令牌 当它使用 利夫特是我的客户 问题Python 通过Lyft Api的脚本自动化三因素身份验证,python,authentication,oauth,lyft-api,Python,Authentication,Oauth,Lyft Api,我正在尝试使用python API访问Lyft数据。具体来说,我正在尝试访问 然而,响应数据中的喘振率始终为0,即使在喘振时间内也是如此,我已经诊断出这是因为我没有使用三条腿身份验证 从 用于访问用户特定端点的三腿流。 搭便车 请求或以其他方式访问用户数据,用户必须授予您 通道没有Lyft帐户的用户将被提示创建 一个新的帐户,如果他们被引导通过以下流程 从 授权 如果您需要访问Lyft用户的帐户以发出请求 代表他们,你将经历一个“三条腿”的流程。在这种情况下,, 您需要用户通过 OAuth 2.
我试图在脚本中自动执行python请求。考虑到认证的第三阶段需要手动访问url并获取代码,是否可以通过脚本来实现这一点?[完全披露:我是Lyft的开发者拥护者之一] 获取该数据的唯一方法是通过请求
骑乘。请求范围是通过三条腿的OAuth流(很抱歉)。但是,如果您请求作为初始授权的一部分的脱机
范围,则只需请求此外部授权一次。如果您最初请求了该范围,您可以使用此处概述的refresh\u token
s,而不需要提示输入外部URL:
如果您仅在本地使用此脚本,我建议您进行一次此授权,然后在您的令牌已过期时将刷新令牌逻辑构建到您的脚本中。希望有帮助
from lyft_rides.auth import ClientCredentialGrant
from lyft_rides.session import Session
from lyft_rides.client import LyftRidesClient
auth_flow = ClientCredentialGrant(client_id=MY_ID, client_secret=MY_SECRET, scopes="public")
session = auth_flow.get_session()
client = LyftRidesClient(session)
response = client.get_cost_estimates(start_latitude=start_lat, start_longitude=start_long, end_latitude=end_lat, end_longitude=end_long)
from lyft_rides.auth import AuthorizationCodeGrant
auth_flow = AuthorizationCodeGrant(
YOUR_CLIENT_ID,
YOUR_CLIENT_SECRET,
YOUR_PERMISSION_SCOPES,
)
auth_url = auth_flow.get_authorization_url()
session = auth_flow.get_session(redirect_url)
client = LyftRidesClient(session)
credentials = session.oauth2credential