2014-11-23 5 views
5

Ich hatte dieses kleine Skript perfekt für den letzten Monat arbeitenWie man Bild mit Twython zu twittern?

from twython import Twython 
import glob 
import random 

app_key = "XXX" 
app_secret = "XXX" 
oauth_token = "XXX" 
oauth_token_secret = "XXX" 
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) 

    def RandomImageTwitt(folder): 
     #Takes the folder where your images are as the input 
     images = glob.glob(folder + "*") 
     image_open = open(images[random.randint(0,len(images))-1]) 
     twitter.update_status_with_media(media=image_open) 

RandomImageTwitt("/home/XXX/.reddit-twitter-image/XXX/") 

Aber jetzt hat Twitter diese Methode veraltet. Twython sagt mir, dass ich Twython.upload_media benutzen soll, aber ich kann kein Dokument finden. Sogar Twython offizielle Seiten listet immer noch ein Beispiel mit update_status_with_media auf.

Wer weiß, wie man es macht oder wo man einige Beispiele/Informationen findet?

Antwort

5

Ok ich hatte das selbe Problem und ich habe mich damit herumärgern und es funktionierte.

Ich habe es in den Code setzen unten (es ist nicht obwohl getestet)

from twython import Twython 
import glob 
import random 

app_key = "XXX" 
app_secret = "XXX" 
oauth_token = "XXX" 
oauth_token_secret = "XXX" 
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) 

    def RandomImageTwitt(folder): 
     #Takes the folder where your images are as the input 
     images = glob.glob(folder + "*") 
     image_open = open(images[random.randint(0,len(images))-1]) 
     #new code starts here 
     image_ids = twitter.upload_media(media=image_open) 
     twitter.update_status('hello this is a status',image_ids['media_id']) 


RandomImageTwitt("/home/XXX/.reddit-twitter-image/XXX/") 
+0

Dank! Am Ende wechselte ich Wrapper und ging mit Tweepy. Es ist meiner Meinung nach einfacher. Sie können den Code auf github überprüfen: https://github.com/joaquinlpereyra/ImageTwitterBot/blob/master/ImageTwitterBot.py – joaquinlpereyra

+0

finden Sie die Dokumentation hier: https: //twython.readthedocs.org/en/latest/api. html – Txugo

1

Wenn Sie twitter.update_status tun, ist obligatorisch Status und media_ids

twitter.update_status(status='hello this is a status', media_ids=image_ids['media_id']) 
+0

Hinzufügen der 'Status =' und 'media_ids =' arbeitete für mich, danke! – rcpilotp51