2013-10-12 14 views
6

Ich versuche, einen Tweet mit der Tweepy-Bibliothek zu posten. Ich benutze diesen Code:Beitrag mit Tweet Tweet

import tweepy 

CONSUMER_KEY ="XXXX" 
CONSUMER_SECRET = "XXXX" 
ACCESS_KEY = "XXXX"  
ACCESS_SECRET = "XXXX" 

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) 

api = tweepy.API(auth) 
api.update_status('Updating using OAuth authentication via Tweepy!') 

Aber wenn ich die Anwendung ausführen, erhalte ich diese Fehlermeldung:

raise TweepError(error_msg, resp) 
TweepError: Read-only application cannot POST. 

Wie kann ich dieses Problem beheben?

Antwort

9

Legen Sie in den Anwendungseinstellungen den Anwendungstyp auf "Lesen und Schreiben" fest. Dann verhandeln Sie Ihr Zugangstoken neu.

+0

Was meinen Sie mit Ihrem Zugriffstoken neu verhandeln? Benötigen Sie ein neues Zugriffstoken, wenn die App nur gelesen wurde, als Sie das ursprüngliche Token erhalten haben? – TedCap

+0

Ich habe gerade diesen Teil selbst herausgefunden. Nachdem Sie den Anwendungstyp geändert haben, müssen Sie für das mit Ihrer App verknüpfte Konto die Option * Mein Zugriffs-Token und Token-Geheimnis regenerieren * auswählen. Und, wie @TedCap sagte, werden Ihnen neue Token ausgegeben, die die Änderung der Berechtigungen für das zugehörige Konto widerspiegeln. –

+0

Hallo, das war hilfreich. danke – Dap

1

der Code funktioniert für mich mit nur

api.update_status (**status** = 'Updating using OAuth authentication via Tweepy!') 
+0

Eigentlich ist diese Antwort, nur zu einem etwas anderen Thema und es hat mir geholfen, also möchte ich dazu kommentieren. Ich war eine Statusantwort von ‚400‘ immer wieder von Twitter, wenn ich den Tweepy-Aufruf wurde: (‚! Updating mit OAuth-Authentifizierung über Tweepy‘) das beheben '' api.update_status aber ich war in der Lage Problem durch Ändern der Methodenparameter auf: 'api.update_status (status = 'Aktualisieren mit OAuth-Authentifizierung über Tweepy!')' Die Tweepy-Dokumente scheinen über diese Nuance unklar zu sein. –