我正在使用requests-oauthlib
來使用ETrade API進行身份驗證。它需要授權的URL具有以下格式:使用請求修改授權URL格式-oauthlib
https://us.etrade.com/e/t/etws/authorize?key={oauth_consumer_key}&token={oauth_token}
然而,當我打電話authorization_url()
,它使用oauth_token
,而不是token
該參數。目前我使用format()
來自己格式化URL,但現在我有token
和oauth_token
參數。這有效,但完全不雅。有沒有辦法修改authorization_url()
的行爲以允許我需要的URL格式?
爲了完整起見,這裏是我的代碼:
oauth_session = requests_oauthlib.OAuth1Session(config.oauth_consumer_key, config.consumer_secret, callback_uri='oob')
def get_request_token():
path = 'oauth/request_token'
url = base_url + path
return oauth_session.fetch_request_token(url)
def get_authorization_url(request_token):
url_format = 'https://us.etrade.com/e/t/etws/authorize?key={oauth_consumer_key}&token={oauth_token}'
url = url_format.format(oauth_consumer_key=config.oauth_consumer_key, oauth_token=request_token['oauth_token'])
return oauth_session.authorization_url(url)
request_token = get_request_token()
print(get_authorization_url(request_token))
據我所知道的,額外的'的oauth_token '參數不會導致任何問題。 'authorization_url()'提供了什麼額外的安全性?它是否對令牌進行URL編碼?還要別的嗎? –