Tweet mit Bild in Python

Ich habe früher "Zugriff auf die Twitter-API mit Python" geschrieben, aber um März 2014 wurde es möglich, mehrere Bilder und damit auch Bild-Tweets zu veröffentlichen Hinzugefügt, da sich die Spezifikationen anscheinend geändert haben.

Bis dahin die API statuses / update für reguläre Tweets und die [statuses / update_with_media](https: // dev) für Tweets mit Bildern .twitter.com / rest / reference / post / statuses / update_with_media), aber es gibt ein neues media / upload Es scheint, dass es hinzugefügt wurde und das vorherige update_with_media veraltet ist.

In der alten API wurden Bilder und Texte gleichzeitig veröffentlicht. In der neuen API wird das Bild anscheinend zuerst hochgeladen, die Medien-ID abgerufen und der Text getwittert.

Der Code sieht so aus. Ersetzen Sie "CK, CS, AT, AS" durch Ihren eigenen Schlüssel. Python2, 3 funktioniert mit beiden.

upload_media.py


#!/usr/bin/env python
# coding: utf-8

import json
from requests_oauthlib import OAuth1Session

CK = 'XXXXXXXXXXXXXXXXXXXXXX'                             # Consumer Key
CS = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'         # Consumer Secret
AT = 'XXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # Access Token
AS = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'         # Accesss Token Secert

url_media = "https://upload.twitter.com/1.1/media/upload.json"
url_text = "https://api.twitter.com/1.1/statuses/update.json"

#Starten Sie die OAuth-Authentifizierungssitzung
twitter = OAuth1Session(CK, CS, AT, AS)

#Bildposting
files = {"media" : open('image.jpg', 'rb')}
req_media = twitter.post(url_media, files = files)

#Überprüfen Sie die Antwort
if req_media.status_code != 200:
	print ("Bildaktualisierung fehlgeschlagen: %s", req_media.text)
	exit()

#Medien-ID abrufen
media_id = json.loads(req_media.text)['media_id']
print ("Media ID: %d" % media_id)

#Veröffentlichen Sie Text mit Medien-ID
params = {'status': 'Bildposting-Test', "media_ids": [media_id]}
req_media = twitter.post(url_text, params = params)

#Überprüfen Sie die Antwort erneut
if req_media.status_code != 200:
	print ("Textaktualisierung fehlgeschlagen: %s", req_text.text)
	exit()

print ("OK")

Wenn Sie mit 4 Bildern twittern, sollten Sie 4 Mal Medien / Uploads durchführen und den Text mit allen Medien-IDs in einer Liste veröffentlichen. Ich habe es nicht versucht.

Recommended Posts

Tweet mit Bild in Python
Bildformat in Python
Bildverarbeitung mit Python
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Betreiben Sie LibreOffice mit Python
Schaben mit Chromedriver in Python
Bildbearbeitung mit Python OpenCV
Umgang mit Sounds in Python
Scraping mit Selen in Python
Sortieren von Bilddateien mit Python (3)
Scraping mit Tor in Python
Bilddateien mit Python sortieren
Kombiniert mit Ordnungszahl in Python
Bildverarbeitung mit Python (3)
Bildverarbeitungssammlung in Python
[Python] Bildverarbeitung mit Scicit-Image
Konvertieren Sie das Bild in .zip mit Python in PDF
Schneiden Sie ein Bild mit Python aus
Testen mit Zufallszahlen in Python
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
Implementierte Bildsegmentierung in Python (Union-Find)
GOTO in Python mit erhabenem Text 3
Arbeiten mit LibreOffice in Python: Importieren
Scraping mit Selen in Python (Basic)
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Numer0n mit Elementen, die mit Python erstellt wurden
Öffnen Sie UTF-8 mit Stückliste in Python
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
Verwenden Sie rospy mit virtualenv in Python3
Lassen Sie uns mit Python Image Scraping durchführen
Verwenden Sie Python in pyenv mit NeoVim
Ich mochte den Tweet mit Python. ..
Heatmap mit Dendrogramm in Python + Matplotlib
Lesen Sie Dateien parallel zu Python
Passwort für Lehrbuch mit Python generieren
Finden Sie Bildähnlichkeit mit Python + OpenCV
Verwenden Sie OpenCV mit Python 3 in Window
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Bis zum Umgang mit Python in Atom
Beginnen Sie mit Python mit Blender
Sende Bild mit Python und speichere mit PHP
Arbeiten mit DICOM-Bildern in Python
[Memo] Tweet auf Twitter mit Python
Erzeugung von Verlaufsbildern mit Python [1] | np.linspace
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Quadtree in Python --2
Grundlagen der binärisierten Bildverarbeitung durch Python
Bildverarbeitung mit Python 100 Knock # 10 Medianfilter
Python in der Optimierung
CURL in Python
FizzBuzz in Python3
Metaprogrammierung mit Python
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Scraping mit Python
Versuchen Sie, sich mit Python bei qiita anzumelden