Uber Rides/Python - 如何配置 Oauth w。阿帕奇

Uber Rides/Python - How to configure Oauth w. Apache

我是新手,所以我提前道歉。我实际上是一名 AppleScript 开发人员,只想将 Uber Rides.py 用于脚本,而我对 Python 几乎一无所知。 (只是寻找一种 'easy' 方式来使用 Homebridge 和 Siri 在更复杂的脚本中启动 Uber 行程)。

我已经构建了 py 应用程序,但我不知道在使用 authorization_code_grant.py 脚本后获取 Oauth 代码。

我将是这个应用程序的唯一用户(它只是为了在家进行测试)所以我并不担心 Auth,但我知道这是一个强制性的超级过程。该应用程序没有前端(只有脚本 运行 并通过 Homebridge 响应 Siri 请求),也没有供用户进行身份验证的网页。用户将是我自己,所以我只需要一种方法来 "get" Oauth 代码,然后我将在 Applescript 中将其用作 CLI/Python 命令的一部分。

我有两个主要问题:

  1. 谁能一步一步地告诉我如何在用户登录并单击授权按钮后获取 Uber 发送的代码?我似乎明白我应该将我的 Apache 服务器配置为 "receive" 代码,但我不知道该怎么做? (如果它有帮助,我已经设置了一个 Horuku 帐户,但考虑到 Apache 在我的 Mac 上运行,我不确定我是否需要这个,我只是不知道如何配置它......)

  2. 当我尝试使用 authorization_code py(URI 设置为 http://localhost:7000 但据我所知,目前端口 7000 上没有任何运行,因此问题1) 它产生下面的错误

错误:

>mediacenter$ python example/authorization_code_grant.py
Login and grant access by going to:
login.uber.com/oauth/authorize?scope=profile+request+history&state=MgnYJ18l7DxqbSYxkSfjrbGCL8BQAMg0&redirect_uri=https%3A%2F%2Foauthswift.herokuapp.com%2Fcallback%2Fsiriuber&response_type=code&client_id=3Wk7zJbSLVCFCQ69UZvQJCZ_aBfHJBDu

>Copy the URL you are redirected to and paste here: 
oauth-callback/siriuber?state=MgnYJ18l7DxqbSYxkSfjrbGCL8BQAMg0&code=dK1ETADCaHcZCAbXnYKOSapetgexgj
Failed to request access token: UNAUTHORIZED. 
[ErrorDetails: 401 UNAUTHORIZED invalid_client] 
Traceback (most recent call last):
File "example/authorization_code_grant.py", line 150, in 
hello_user(api_client)
File "example/authorization_code_grant.py", line 122, in hello_user
response = api_client.get_user_profile()
AttributeError: 'NoneType' object has no attribute 'get_user_profile'

我希望它有点道理。我知道我应该花一些时间学习一门 "real" 语言,但 AS(大部分时间)非常适合将不同的东西快速组合在一起并做我想做的事!

提前致谢, 江城

来自 GitHub 的同一个人。在四处挖掘之后,我想出了 .

基本上,您的 example/config.yaml 或您的应用仪表板中可能存在配置问题。确保您正确配置了这两个。 example/config.yaml 设置应该与替换了三个值的 this 完全一样。确保您的重定向 URL 与仪表板中 "Authorizations" 重定向 URL 下的重定向相同。

您是从源安装的吗?就像您从 GitHub 存储库中克隆它一样吗?还是你是用pip安装的?

希望这对您有所帮助。