2013-10-12 19 views
6

Próbuję opublikować tweeta w bibliotece tweepy. Używam tego kodu:Napisz tweeta z tweepy

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!') 

Ale kiedy uruchomić aplikację, otrzymuję ten błąd:

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

Jak mogę rozwiązać ten problem?

Odpowiedz

9

W ustawieniach aplikacji, ustaw Typ aplikacji na "Odczyt i zapis". Następnie wynegocjuj ponownie token dostępu.

+0

Co masz na myśli przez renegocjować swój token dostępu? Czy potrzebujesz nowego tokena dostępu, jeśli aplikacja była czytana tylko wtedy, gdy masz oryginalny token? – TedCap

+0

Sam po prostu wymyśliłem tę część. Po zmianie typu aplikacji musisz wybrać * Odzyskaj Mój token dostępu i Token Secret * dla konta powiązanego z Twoją aplikacją. I, jak powiedział @TedCap, otrzymasz nowe tokeny odzwierciedlające zmianę uprawnień dla powiązanego konta. –

+0

Witam, to było pomocne. dziękuję – Dap

1

kod działa dla mnie tylko

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

Właściwie to odpowiedź IS, tylko na nieco inny problem i pomogło mi, więc chcę to skomentować. ja dostawałem odpowiedź status „400” z powrotem z Twittera kiedy używałem połączenia Tweepy: („! Aktualizacji przy użyciu uwierzytelniania OAuth poprzez Tweepy”) '' api.update_status ale udało mi się naprawić Wydaj, zmieniając parametry metody na: 'api.update_status (status = 'Aktualizacja za pomocą uwierzytelniania OAuth przez Tweepy!')' Dokumenty Tweepy wydają się niejasne odnośnie tego niuansu. –