requests-oauthlib
을 사용하여 ETrade API를 인증합니다. 내가 authorization_url()
를 호출 할 때requests-oauthlib을 사용하여 인증 URL 형식 수정
https://us.etrade.com/e/t/etws/authorize?key={oauth_consumer_key}&token={oauth_token}
그러나, 그것은 oauth_token
대신 해당 매개 변수에 대한 token
사용은 다음과 같은 형식을 가지고 인증 URL이 필요합니다. 현재 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 : -
또한,이 함수에 추가
str.format()
전화를 할 다음 필요하다authorization_url()
는kwargs
이러한 매개 변수를 지정하는 데 사용할 수 있습니다 소요 '매개 변수가 아무런 문제를 일으키지 않습니다. 'authorization_url() '이 제공하는 추가 안전성에는 어떤 것이 있습니까? 토큰을 URL 인코딩합니까? 다른 건 없니? –