I am using Python Twitter Tools API to try to add multiple members to a list using lists.members.create_all of Twitter API v1.1 but I am getting this error:
Twitter sent status 404 for URL: 1.1/lists/members/create_all.json
{“errors”:[{“message”:”Sorry, that page does not exist”,”code”:34}]}
Other calls work fine and adding single members to a list works fine. My code is below, would appreciate someone’s help on how to use lists.members.create_all correctly!
#!/usr/bin/python
from twitter import *
OAUTH_TOKEN = 'my oauth token'
OAUTH_SECRET = 'my oauth secret'
CONSUMER_KEY = 'my consumer key'
CONSUMER_SECRET = 'my consumer secret'
USERNAME = "my username"
LIST_NAME = "fud"
def main():
twitter = Twitter(api_version='1.1', auth=OAuth(OAUTH_TOKEN, OAUTH_SECRET, CONSUMER_KEY, CONSUMER_SECRET))
try:
# view a users lists
lists = twitter.lists.list(user=USERNAME)
# create a list
create_list = twitter.lists.create(name=LIST_NAME)
# view list members
list_members = twitter.lists.members(slug=LIST_NAME, owner_screen_name=USERNAME)
# add single user to list
twitter.lists.members.create(owner_screen_name=USERNAME, slug=LIST_NAME, screen_name="microsoft")
# add multiple users to list - fails !!!
twitter.lists.members.create_all(owner_screen_name=USERNAME, slug=LIST_NAME, screen_name="twitter,python")
#Produces error:
#Twitter sent status 404 for URL: 1.1/lists/members/create_all.json using parameters:
#{"errors":[{"message":"Sorry, that page does not exist","code":34}]}
except TwitterHTTPError as twerr:
import zlib
print twerr, zlib.decompress(twerr.response_data, 16+zlib.MAX_WBITS) # gunzip response error info
main()
I believe that your call to
create_all()is correct. The trick is that (the version I recently downloaded of) Python Twitter Tools defaults to a GET request rather than a POST request when it calls the Twitter API to create list members.The list of methods that require a POST is stored in
twitter_globals.py. I added'create_all'to thePOST_ACTIONSlist and that seemed to work.