How to update twitter status with image using image url in tweepy? How to update twitter status with image using image url in tweepy? python python

How to update twitter status with image using image url in tweepy?


You need use a local file to upload via tweepy. I would suggest using a library like requests to download the file first.

import requestsimport osdef twitter_api():    access_token = config.get('twitter_credentials', 'access_token')    access_token_secret = config.get('twitter_credentials', 'access_token_secret')    consumer_key = config.get('twitter_credentials', 'consumer_key')    consumer_secret = config.get('twitter_credentials', 'consumer_secret')    auth = OAuthHandler(consumer_key, consumer_secret)    auth.set_access_token(access_token, access_token_secret)    api = API(auth)    return apidef tweet_image(url, message):    api = twitter_api()    filename = 'temp.jpg'    request = requests.get(url, stream=True)    if request.status_code == 200:        with open(filename, 'wb') as image:            for chunk in request:                image.write(chunk)        api.update_with_media(filename, status=message)        os.remove(filename)    else:        print("Unable to download image")url = "http://animalia-life.com/data_images/bird/bird1.jpg"message = "Nice one"tweet_image(url, message)


Twython Release 3.4.0

photo = open('/path/to/file/image.jpg', 'rb')response = twitter.upload_media(media=photo)twitter.update_status(status='Checkout this cool image!', media_ids=[response['media_id']])


Why not just include the link in a status update?

img = "http://animalia-life.com/data_images/bird/bird1.jpg"api.status(status="%s Nice one" % img)