2012-08-11 49 views
0
>>> import twitter 
>>> api = twitter.Api() 
>>> api = twitter.Api(consumer_key='bkvRjwyoMnBo1EWw',consumer_secret='9Cg4oXgk0eIphAnewppB0sXlHQ1cBhkk',access_token_key='27436-GlzGFHPgbgGQV5RRc8oSiqeY4XsDZ',access_token_secret='fwekIDmxTPy3ZDdoVh5EVcQOxzg') 
>>> status = api.PostUpdate('I love python-twitter!') 

Traceback (most recent call last): 
    File "<pyshell#3>", line 1, in <module> 
    status = api.PostUpdate('I love python-twitter!') 
    File "c:\python27\python-twitter-0.8.2\twitter.py", line 2766, in PostUpdate 
    data = self._ParseAndCheckTwitter(json) 
    File "c:\python27\python-twitter-0.8.2\twitter.py", line 3668, in _ParseAndCheckTwitter 
    self._CheckForTwitterError(data) 
    File "c:\python27\python-twitter-0.8.2\twitter.py", line 3691, in _CheckForTwitterError 
    raise TwitterError(data['error']) 
TwitterError: Read-only application cannot POST 
>>> dir(twitter) 
['ACCESS_TOKEN_URL', 'AUTHORIZATION_URL', 'Api', 'CHARACTER_LIMIT', 'DEFAULT_CACHE', 'DirectMessage', 'Hashtag', 'List', 'REQUEST_TOKEN_URL', 'SIGNIN_URL', 'Status', 'StringIO', 'Trend', 'TwitterError', 'Url', 'User', '_FileCache', '_FileCacheError', '__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__version__', '__warningregistry__', 'base64', 'calendar', 'datetime', 'gzip', 'httplib', 'md5', 'oauth', 'os', 'parse_qs', 'parse_qsl', 'rfc822', 'simplejson', 'sys', 'tempfile', 'textwrap', 'time', 'urllib', 'urllib2', 'urlparse'] 

如何恢復TwitterError?不能通過python使用twitterapi發送推文

+0

您是否閱讀過錯誤信息? 「只讀應用程序不能POST」 - 這意味着您的訪問憑據是隻讀的。 – Amber 2012-08-11 20:15:25

+0

@Amber是的,我讀過它,但我想知道如何改變它。如果我想POST我該怎麼辦? – 2012-08-11 20:21:03

+0

在您的應用程序設置(https://dev.twitter.com/apps)中,您需要將其設置爲讀寫應用程序。 – Amber 2012-08-11 20:25:22

回答

0

您需要安裝python_twitter,因爲您使用的命令屬於Python_twitter,我認爲您需要遵循twitter的文檔。你需要檢查這個。你所有的問題都有同樣的問題。請檢查它。您需要將您的應用程序更改爲讀取/寫入。

2

在您的應用程序設置(在dev.twitter.com/apps)中,您需要將其設置爲讀寫應用程序。