Tweet avec image en Python

J'ai écrit plus tôt "Accéder à l'API Twitter avec Python", mais vers mars 2014, il est devenu possible de publier plusieurs images, et avec cela, autour de tweets d'images Ajouté car il semble que les spécifications ont changé.

D'ici là, l'API statuses / update pour les tweets réguliers et [statuses / update_with_media](https: // dev) pour les tweets avec images .twitter.com / rest / reference / post / statuses / update_with_media), mais il y a un nouveau media / upload Il semble qu'il ait été ajouté et que la précédente update_with_media soit obsolète.

Dans l'ancienne API, les images et les textes étaient publiés en même temps, mais dans la nouvelle API, il semble que l'image soit d'abord téléchargée, que l'ID média soit obtenu et que le texte soit tweeté.

Le code ressemble à ceci. Remplacez «CK, CS, AT, AS» par votre propre clé, le cas échéant. Python2, 3 fonctionne avec l'un ou l'autre.

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"

#Démarrer la session d'authentification OAuth
twitter = OAuth1Session(CK, CS, AT, AS)

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

#Vérifiez la réponse
if req_media.status_code != 200:
	print ("La mise à jour de l'image a échoué: %s", req_media.text)
	exit()

#Obtenir l'ID média
media_id = json.loads(req_media.text)['media_id']
print ("Media ID: %d" % media_id)

#Message texte avec ID média
params = {'status': 'Test de publication d'image', "media_ids": [media_id]}
req_media = twitter.post(url_text, params = params)

#Vérifiez à nouveau la réponse
if req_media.status_code != 200:
	print ("La mise à jour du texte a échoué: %s", req_text.text)
	exit()

print ("OK")

Lorsque vous tweetez avec 4 images, je pense que vous devriez faire des médias / télécharger 4 fois et publier le texte avec tous les identifiants de médias dans une liste. Je n'ai pas essayé.

Recommended Posts

Tweet avec image en Python
Format d'image en Python
Traitement d'image avec Python
Traitez facilement des images en Python avec Pillow
Créer une image avec des caractères avec python (japonais)
Exploitez LibreOffice avec Python
Grattage avec chromedriver en python
Édition d'image avec python OpenCV
Gérer les sons en Python
Grattage avec du sélénium en Python
Tri des fichiers image avec Python (3)
Grattage avec Tor en Python
Tri des fichiers image avec Python
Combiné avec ordinal en Python
Traitement d'image avec Python (3)
Collection de traitement d'image en Python
[Python] Traitement d'image avec scicit-image
Convertissez l'image au format .zip en PDF avec Python
Découpez une image avec python
Tester avec des nombres aléatoires en Python
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Implémentation de la segmentation d'image en python (Union-Find)
GOTO en Python avec Sublime Text 3
Travailler avec LibreOffice en Python: import
Scraping avec Selenium en Python (Basic)
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Numer0n avec des objets fabriqués avec Python
Ouvrez UTF-8 avec BOM en Python
Traitement d'image avec la binarisation Python 100 knocks # 3
Utiliser rospy avec virtualenv dans Python3
Faisons du scraping d'images avec Python
Utiliser Python mis en pyenv avec NeoVim
J'ai aimé le tweet avec python. ..
Heatmap avec dendrogramme en Python + matplotlib
Lire des fichiers en parallèle avec Python
Générer un mot de passe pour le manuel avec python
Trouver la similitude d'image avec Python + OpenCV
Utiliser OpenCV avec Python 3 dans Window
100 traitement d'image par Python Knock # 2 Échelle de gris
Jusqu'à traiter de python dans Atom
Démarrez avec Python avec Blender
Envoyer l'image avec python et enregistrer avec php
Travailler avec des images DICOM en Python
[Memo] Tweet sur Twitter avec Python
Génération d'images dégradées avec Python [1] | np.linspace
Écrire de la documentation dans Sphinx avec Python Livereload
Obtenez des données supplémentaires vers LDAP avec python
Quadtree en Python --2
Bases du traitement d'images binarisées par Python
Traitement d'image par Python 100 knock # 10 filtre médian
Python en optimisation
CURL en Python
FizzBuzz en Python3
Métaprogrammation avec Python
Livre en spirale en Python! Python avec un livre en spirale! (Chapitre 14 ~)
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Grattage avec Python
Essayez de vous connecter à qiita avec Python