def get_access_token(consumer_key, consumer_secret):
REQUEST_TOKEN_URL = 'https://api.twitter.com/oauth/request_token'
ACCESS_TOKEN_URL = 'https://api.twitter.com/oauth/access_token'
AUTHORIZATION_URL = 'https://api.twitter.com/oauth/authorize'
oauth_client = OAuth1Session(consumer_key, client_secret=consumer_secret,
callback_uri='oob')
print('\nRequesting temp token from Twitter...\n')
try:
resp = oauth_client.fetch_request_token(REQUEST_TOKEN_URL)
except ValueError as e:
raise ValueError(
'Invalid response from Twitter requesting temp token: {0}'.format(
e))
url = oauth_client.authorization_url(AUTHORIZATION_URL)
print('I will try to start a browser to visit the following Twitter page '
'if a browser will not start, copy the URL to your browser '
'and retrieve the pincode to be used '
'in the next step to obtaining an Authentication Token: \n'
'\n\t{0}'.format(url))
webbrowser.open(url)
pincode = raw_input('\nEnter your pincode? ')
print('\nGenerating and signing request for an access token...\n')
oauth_client = OAuth1Session(consumer_key, client_secret=consumer_secret,
resource_owner_key=resp.get('oauth_token'),
resource_owner_secret=resp.get(
'oauth_token_secret'),
verifier=pincode)
try:
resp = oauth_client.fetch_access_token(ACCESS_TOKEN_URL)
except ValueError as e:
msg = ('Invalid response from Twitter requesting '
'temp token: {0}').format(e)
raise ValueError(msg)
#
# print('''Your tokens/keys are as follows:
# consumer_key = {ck}
# consumer_secret = {cs}
# access_token_key = {atk}
# access_token_secret = {ats}'''.format(
# ck=consumer_key,
# cs=consumer_secret,
# atk=resp.get('oauth_token'),
# ats=resp.get('oauth_token_secret')))
return resp.get('oauth_token'), resp.get('oauth_token_secret')
评论列表
文章目录