def cmd_verify(bot, update, args, chat): if restrict_access(bot, update): return if not chat.twitter_request_token: bot.reply(update, "Use /auth command first") return if len(args) < 1: bot.reply(update, "No verifier code specified") return verifier_code = args[0] auth = OAuthHandler(bot.tw.auth.consumer_key, bot.tw.auth.consumer_secret) auth.request_token = json.loads(chat.twitter_request_token) try: auth.get_access_token(verifier_code) except TweepError: bot.reply(update, "Invalid verifier code. Use /auth again") return chat.twitter_token = auth.access_token chat.twitter_secret = auth.access_token_secret chat.save() bot.reply(update, "Access token setup complete") api = tweepy.API(auth) settings = api.get_settings() tz_name = settings.get("time_zone", {}).get("tzinfo_name") cmd_set_timezone(bot, update, [tz_name])
def get_verification(): #get the verifier key from the request url verifier = request.args['oauth_verifier'] print(verifier) auth = OAuthHandler(CONSUMER_TOKEN, CONSUMER_SECRET) auth.request_token = { 'oauth_token': request.args.get('oauth_token'), 'oauth_token_secret': request.args.get('oauth_verifier') } # token = session['request_token'] del session_t['request_token'] # auth.set_request_token(token[0], token[1]) try: auth.get_access_token(verifier) print('obtuve el access token') print(auth.access_token) print(auth.access_token_secret) print('termine') except tweepy.TweepError: print('Error! Failed to get access token.') #now you have access! api = tweepy.API(auth) #store in a db bdd['api'] = api bdd['access_token_key'] = auth.access_token bdd['access_token_secret'] = auth.access_token_secret print(bdd) return flask.redirect(flask.url_for('start'))
def cmd_verify(update: telegram.Update, context: CallbackContext) -> None: args = context.args bot = context.bot chat, _created = TelegramChat.get_or_create( chat_id=update.message.chat.id, tg_type=update.message.chat.type, ) if not chat.twitter_request_token: bot.reply(update, "Use /auth command first") return if len(args) < 1: bot.reply(update, "No verifier code specified") return verifier_code = args[0] auth = OAuthHandler(bot.tw.auth.consumer_key, bot.tw.auth.consumer_secret) auth.request_token = json.loads(chat.twitter_request_token) try: auth.get_access_token(verifier_code) except TweepyException: bot.reply(update, "Invalid verifier code. Use /auth again") return chat.twitter_token = auth.access_token chat.twitter_secret = auth.access_token_secret chat.save() bot.reply(update, "Access token setup complete") api = tweepy.API(auth) settings = api.get_settings() tz_name = settings.get("time_zone", {}).get("tzinfo_name")
def get_token(self, oauth_token, oauth_token_secret, oauth_verifier): auth = OAuthHandler(self._consumer_key, self._consumer_secret) auth.request_token = {'oauth_token': oauth_token, 'oauth_token_secret': oauth_token_secret} auth.get_access_token(oauth_verifier) self._access_token = auth.access_token self._access_token_secret = auth.access_token_secret self._setup_apis() return self._access_token, self._access_token_secret
def callback(request): unauthed_token = request.session.get('unauthed_token', None) if not unauthed_token: return HttpResponse("No un-authed token cookie") token = oauth.OAuthToken.from_string(unauthed_token) if token.key != request.GET.get('oauth_token', 'no-token'): return HttpResponse("Something went wrong! Tokens do not match") verifier = request.GET.get('oauth_verifier') handler = OAuthHandler(settings.TWITTER_CONSUMER_KEY, settings.TWITTER_CONSUMER_SECRET, secure=True) handler.request_token = token access_token = handler.get_access_token(verifier) # save token against user user = User.objects.get(pk=request.session['user_id']) profile = user.get_profile() profile.access_token = access_token.key profile.access_token_secret = access_token.secret profile.save() redirect = reverse('fundraiser-page', kwargs={'fundraiser_id': profile.jg_page_id}) return HttpResponseRedirect(redirect)
def cmd_verify(bot, update, args, chat): if not chat.twitter_request_token: bot.reply(update, "Use /auth command first") return if len(args) < 1: bot.reply(update, "No verifier code specified") return verifier_code = args[0] auth = OAuthHandler(bot.tw.auth.consumer_key, bot.tw.auth.consumer_secret) auth.request_token = json.loads(chat.twitter_request_token) try: auth.get_access_token(verifier_code) except TweepError: bot.reply(update, "Invalid verifier code. Use /auth again") return chat.twitter_token = auth.access_token chat.twitter_secret = auth.access_token_secret chat.save() bot.reply(update, "Access token setup complete") api = tweepy.API(auth) settings = api.get_settings() tz_name = settings.get("time_zone", {}).get("tzinfo_name") cmd_set_timezone(bot, update, [tz_name])