命令行 oauth2 授权获取用户权限

command line oauth2 authoritation get permission from user

我想写一个程序从http://www.thingiverse.com/

下载东西

我很难验证。因为它是一个命令行工具。用户必须单击浏览器中的允许按钮才能继续(获取重定向 url 并获取代码)。如何在 python 中做到这一点?

如果我这样做:

import requests

#get access code
client_id = "xxxxxxxxxxx"
client_secret = "xxxxxxxxxxxxxxxxxxx"
redirect_uri = "http://wang-nima.github.io"

payload = {'client_id': client_id, 'redirect_uri': redirect_uri}
r = requests.get("https://www.thingiverse.com/login/oauth/authorize", params=payload)
print r.url

打印的 url 是 url 您应该按下允许按钮。不是重定向 url。如何获得重定向 url??

提前致谢

您无法以自动方式获得用户的同意,因为这会违背 OAuth 的目的并且会违反规范。你可以做的是从你的 python 环境中生成一个浏览器,让用户在浏览器中登录并同意,然后让他 copy/paste code 回到你的 python 脚本。