def get_request_token(self):
'''get_request_token() -> auth url
some params handled by requests_oauthlib but put in
doc string for clarity into the API.
param: oauth_consumer_key
type: str
description: the value used by the consumer to identify
itself to the service provider.
param: oauth_timestamp
type: int
description: the date and time of the request, in epoch time.
must be accurate within five minutes.
param: oauth_nonce
type: str
description: a nonce, as discribed in the authorization guide
roughly, an arbitrary or random value that cannot
be used again with the same timestamp.
param: oauth_signature_method
type: str
description: the signature method used by the consumer to sign
the request. the only supported value is 'HMAC-SHA1'.
param: oauth_signature
type: str
description: signature generated with the shared secret and token
secret using the specified oauth_signature_method
as described in OAuth documentation.
param: oauth_callback
type: str
description: callback information, as described elsewhere. must
always be set to 'oob' whether using a callback or
not
rtype: str
description: Etrade autherization url'''
# Set up session
self.session = OAuth1Session(self.consumer_key,
self.consumer_secret,
callback_uri=self.callback_url,
signature_type='AUTH_HEADER')
# get request token
self.session.fetch_request_token(self.req_token_url)
# get authorization url
#etrade format: url?key&token
authorization_url = self.session.authorization_url(self.auth_token_url)
akey = self.session.parse_authorization_response(authorization_url)
# store oauth_token
self.resource_owner_key = akey['oauth_token']
formated_auth_url = '%s?key=%s&token=%s' % (self.auth_token_url,
self.consumer_key,
akey['oauth_token'])
self.verifier_url = formated_auth_url
logger.debug(formated_auth_url)
return formated_auth_url
评论列表
文章目录