Variable & Class issue? __init__() missing 2 required positional arguments 'access_token' and 'access_token_secret'

Viewed 19

How should I resolve this for the code block below? Running Python 3.x in Jupyter on Sagemaker Studio Lab.

I realize this is an FAQ, and it would really help to see an answer with my specific classes & variables. Not a link or a one line response. Thanks!

Context is using Tweepy to set up a filtered stream using Twitter API v2.

__init__() missing 2 required positional arguments: 'access_token' and 'access_token_secret'
# Importing Tweepy and time
import tweepy
import time

from tweepy import OAuthHandler
from tweepy import Stream
import json
import boto3

#Variables that contains the user credentials to access Twitter API (deleted for Stackoverflow question post)
consumer_key = ''
consumer_secret = ''
bearer_token = ''
api_key = ''
api_secret = ''
access_token = ''
access_token_secret = ''

# Gaining access and connecting to Twitter API using Credentials
client = tweepy.Client(bearer_token, api_key, api_secret, access_token, access_token_secret)
auth = tweepy.OAuth1UserHandler(api_key, api_secret, access_token, access_token_secret)
api = tweepy.API(auth)

#This is a basic listener that just prints received tweets to stdout.
class StdOutListener():

    def on_data(self, data):
        tweet = json.loads(data)
        try:
            if 'extended_tweet' in tweet.keys():
                #print (tweet['text'])
                message_lst = [str(tweet['id']),
                       str(tweet['user']['name']),
                       str(tweet['user']['screen_name']),
                       tweet['extended_tweet']['full_text'],
                       str(tweet['user']['followers_count']),
                       str(tweet['user']['location']),
                       str(tweet['geo']),
                       str(tweet['created_at']),
                       '\n'
                       ]
                message = '\t'.join(message_lst)
                print(message)
                client.put_record(
                    DeliveryStreamName=delivery_stream,
                    Record={
                    'Data': message
                    }
                )
            elif 'text' in tweet.keys():
                #print (tweet['text'])
                message_lst = [str(tweet['id']),
                       str(tweet['user']['name']),
                       str(tweet['user']['screen_name']),
                       tweet['text'].replace('\n',' ').replace('\r',' '),
                       str(tweet['user']['followers_count']),
                       str(tweet['user']['location']),
                       str(tweet['geo']),
                       str(tweet['created_at']),
                       '\n'
                       ]
                message = '\t'.join(message_lst)
                print(message)
                client.put_record(
                    DeliveryStreamName=delivery_stream,
                    Record={
                    'Data': message
                    }
                )
        except (AttributeError, Exception) as e:
                print (e)
        return True

    def on_error(self, status):
        print (status)


if __name__ == '__main__':

    #This handles Twitter authentification and the connection to Twitter Streaming API. Keys removed for Stack Overflow.
    listener = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    #tweets = Table('tweets_ft',connection=conn)
    client = boto3.client('firehose',
                          region_name='us-east-1',
                          aws_access_key_id='',
                          aws_secret_access_key=''
                          )

    delivery_stream = 'twitter_stream'
    #This line filter Twitter Streams to capture data by keywords

    while True:
        try:
            print('Twitter streaming...')
            stream = Stream(auth, listener)
            stream.filter(track=['pete carroll -is:retweet'], stall_warnings=True)
        except Exception as e:
            print(e)
            print('Disconnected...')
            time.sleep(5)
            continue
 Twitter streaming...
 __init__() missing 2 required positional arguments: 'access_token' and 'access_token_secret' Disconnected...
 
 
 
 --------------------------------------------------------------------------- TypeError                                 Traceback (most recent call
 last) /tmp/ipykernel_209/2696512367.py in <module>
      74             print('Twitter streaming...')
 ---> 75             stream = Stream(auth, listener)
      76             stream.filter(track=['pete carroll -is:retweet'], stall_warnings=True)
 
 TypeError: __init__() missing 2 required positional arguments:
 'access_token' and 'access_token_secret'
0 Answers
Related