Ich wollte mehrere Bilder posten, war aber ein wenig süchtig danach, also werde ich es posten. Es soll mit Python 3-Serie funktionieren
Das Posten eines Bildes enthält viele andere Artikel und kann einfach implementiert werden. Referenz: Tweet mit Bild in Python Lassen Sie uns den hier beschriebenen Quellcode umleiten.
Verwenden Sie Medien / Upload für mehrere Beiträge.
(Medien abrufen / Upload-> Medien-ID) * Anzahl der Blätter-> Status / Aktualisierung
Obwohl es sich um media_id handelt, fügen wir in mehrere Beiträge eine durch Kommas getrennte Zeichenfolge ein. Ich habe den obigen Quellcode ausgeliehen und wie folgt umgeschrieben.
media.py
def tweet_with_image(oauth_sess, tweet_text, path_list_images):
url_media = "https://upload.twitter.com/1.1/media/upload.json"
url_text = "https://api.twitter.com/1.1/statuses/update.json"
media_ids = ""
#Schleife für die Anzahl der Bilder
for path in path_list_images:
files = {"media" : open(path, 'rb')}
req_media = oauth_sess.post(url_media, files = files)
#Überprüfen Sie die Antwort
if req_media.status_code != 200:
print ("Bildaktualisierung fehlgeschlagen: {}".format(req_media.text))
return -1
media_id = json.loads(req_media.text)['media_id']
media_id_string = json.loads(req_media.text)['media_id_string']
print ("Media ID: {} ".format(media_id))
#Kommerzielle Zeichenfolge der Medien-ID","Kombinieren mit
if media_ids == "":
media_ids += media_id_string
else:
media_ids = media_ids + "," + media_id_string
print ("media_ids: ", media_ids)
params = {'status': tweet_text, "media_ids": [media_ids]}
req_text = oauth_sess.post(url_text, params = params)
#Überprüfen Sie die Antwort erneut
if req_text.status_code != 200:
print ("Textaktualisierung fehlgeschlagen: {}".format(req_text.text))
return -1
print ("tweet uploaded\n")
return 1
Recommended Posts