Adders
Adders

Reputation: 665

Twython 404 on create_list_members method

I have the following code, which gets a list of ids for a users friends on Twitter. These ids as then passed to a newly created list but I'm getting the following error:

Traceback (most recent call last):
  File "twitter.py", line 34, in <module>
    twitter.create_list_members(list_id=list_id, user_id=i)
  File "/home/graingerkid/.local/lib/python2.7/site-packages/twython/endpoints.py", line 768, in create_list_members
    return self.post('lists/members/create_all', params=params)
  File "/home/graingerkid/.local/lib/python2.7/site-packages/twython/api.py", line 268, in post
    return self.request(endpoint, 'POST', params=params, version=version)
  File "/home/graingerkid/.local/lib/python2.7/site-packages/twython/api.py", line 258, in request
    api_call=url)
  File "/home/graingerkid/.local/lib/python2.7/site-packages/twython/api.py", line 194, in _request
    retry_after=response.headers.get('X-Rate-Limit-Reset'))
twython.exceptions.TwythonError: Twitter API returned a 404 (Not Found), Sorry, that page does not exist.

I'm using version twython-3.4.0

My code is:

# create list and return list id
list_id = twitter.create_list(name=user)['id']

print list_id

# get users following ids
following_ids = twitter.get_friends_ids(screen_name=user)['ids']

print following_ids

for i in chunks(following_ids, 100):
    # add memebers to list - 100 at a time
    twitter.create_list_members(list_id=list_id, user_id=i)

What am I doing wrong?

Upvotes: 0

Views: 151

Answers (1)

Ryan Schmidt
Ryan Schmidt

Reputation: 51

Add a sleep of one second after creating the list. The page doesn't exist because the list hasn't finished being created.

# create list and return list id
list_id = twitter.create_list(name=user)['id']

print list_id

time.sleep(1) # Sleep one second

# get users following ids
following_ids = twitter.get_friends_ids(screen_name=user)['ids']

print following_ids

for i in chunks(following_ids, 100):
    # add memebers to list - 100 at a time
    twitter.create_list_members(list_id=list_id, user_id=i)

Upvotes: 1

Related Questions