-
from __future__ import print_function
import webbrowser
import time
-from .api import Twitter
+from .api import Twitter, json
from .oauth import OAuth, write_token_file
+from .oauth2 import OAuth2, write_bearer_token_file
try:
_input = raw_input
_input = input
+def oauth2_dance(consumer_key, consumer_secret, token_filename=None):
+ """
+ Perform the OAuth2 dance to transform a consumer key and secret into a
+ bearer token.
+
+ If a token_filename is given, the bearer token will be written to
+ the file.
+ """
+ twitter = Twitter(
+ auth=OAuth2(consumer_key=consumer_key, consumer_secret=consumer_secret),
+ format="",
+ api_version="")
+ token = json.loads(twitter.oauth2.token(grant_type="client_credentials"))["access_token"]
+ if token_filename:
+ write_bearer_token_file(token)
+ return token
def oauth_dance(app_name, consumer_key, consumer_secret, token_filename=None):
"""
auth=OAuth('', '', consumer_key, consumer_secret),
format='', api_version=None)
oauth_token, oauth_token_secret = parse_oauth_tokens(
- twitter.oauth.request_token())
+ twitter.oauth.request_token(oauth_callback="oob"))
print("""
In the web browser window that opens please choose to Allow
access. Copy the PIN number that appears on the next page and paste or
type it here:
""")
- oauth_url = ('http://api.twitter.com/oauth/authorize?oauth_token=' +
+ oauth_url = ('https://api.twitter.com/oauth/authorize?oauth_token=' +
oauth_token)
print("Opening: %s\n" % oauth_url)