我正在按照此处提到的说明进行操作:https://api.stackexchange.com/docs/authentication https://api.stackexchange.com/docs/authentication
但由于没有提供代码,我无法正确理解流程。
我一直在尝试使用下面的两种方法完成身份验证部分,但我已经陷入了困境。
1)
import requests
from pprint import pprint
resp = requests.get('https://stackexchange.com/oauth/dialog?client_id=6667&scope=private_info&redirect_uri=https://stackexchange.com/oauth/login_success/')
pprint(vars(resp))
2)
import oauth2 as oauth
from pprint import pprint
url = 'https://www.stackexchange.com'
request_token_url = '%s/oauth/' % url
access_token_url = '%s/' % url
consumer = oauth.Consumer(key='mykey',
secret='mysecret')
client = oauth.Client(consumer)
response, content = client.request(request_token_url, 'GET')
print(response, content)
我不知道如何从这里继续前进?我需要使用返回的访问令牌并用它来查询 API。示例代码真的很有帮助!谢谢。
编辑:这是我当前使用的代码:
from requests_oauthlib import OAuth2Session
from pprint import pprint
client_id = 'x'
client_secret = 'x'
redirect_uri = 'https://stackexchange.com/oauth/login_success'
scope = 'no_expiry'
oauth = OAuth2Session(client_id, redirect_uri=redirect_uri, scope=scope)
pprint(vars(oauth))
authorization_url, state = oauth.authorization_url('https://stackexchange.com/oauth/dialog')
print(authorization_url)
有没有办法可以直接在脚本本身中获取令牌,而不必单击authorization_url并获取令牌?