命令行 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 脚本。
我想写一个程序从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 脚本。