Je voulais publier plusieurs images, mais j'en étais un peu accro, alors je vais la poster. Il est censé fonctionner avec la série python 3
La publication d'une image comporte de nombreux autres articles et peut être facilement mise en œuvre. Référence: Tweet avec image en Python Détournons le code source décrit ici.
Utilisez les médias / télécharger pour plusieurs articles.
(get media / upload-> media_id) * Nombre de feuilles-> statuts / mise à jour
Bien qu'il s'agisse de media_id, insérons une chaîne de caractères séparés par des virgules dans plusieurs articles. J'ai emprunté le code source ci-dessus et je l'ai réécrit comme suit.
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 = ""
#Boucle pour le nombre d'images
for path in path_list_images:
files = {"media" : open(path, 'rb')}
req_media = oauth_sess.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é: {}".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))
#Commer la chaîne de l'ID de média","Combiner avec
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)
#Vérifiez à nouveau la réponse
if req_text.status_code != 200:
print ("La mise à jour du texte a échoué: {}".format(req_text.text))
return -1
print ("tweet uploaded\n")
return 1
Recommended Posts