2012-10-31 13 views
1

我使用Python Twitter Tools API嘗試使用Twitter API v1.1的lists.members.create_all將多個成員添加到列表中,但出現此錯誤:Python Twitter工具 - 將多個用戶添加到列表失敗(lists.members.create_all)

Twitter發送的URL地址爲:1.1/lists/members/create_all.json {「errors」:[{「message」:「對不起,該頁面不存在」,「code」:34}]}

其他調用正常工作,並添加單個成員到列表工作正常。我的代碼如下,希望有人的幫助正確使用lists.members.create_all!

#!/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() 

回答

1

我相信您撥打create_all()是正確的。關鍵是(我最近下載的版本)當Python Twitter工具調用Twitter API創建列表成員時,默認爲GET請求而不是POST請求。

需要POST的方法列表存儲在twitter_globals.py中。我將'create_all'添加到POST_ACTIONS列表中,似乎有效。

+0

哦,你難怪你!這工作,謝謝你:) –

相關問題