Search code examples
pythonoauthpython-requestsflickr

Flickr API: Upload an image with python


I have a problem to upload an image trought the Flickr API.

I use OAuthLib-requests (https://github.com/requests/requests-oauthlib)

The Flickr doc: https://secure.flickr.com/services/api/upload.api.html

My code:

params = {
    'format'         : 'json',
    "nojsoncallback" : "1",
    'api_key'        : 'my_api_key',
}

with open('myfile.jpg', 'rb') as f:
    files = {'file': f}

    r = the_oauth_requests_session.post('https://up.flickr.com/services/upload/', params=params, files=files)
    print r.content

But in the content I can find this error: 'No photo specified'.

What is the way to upload a photo ?

I'm authenticated, and others api calls work perfectly (like 'flickr.photosets.create')

Thank you in advance


Solution

  • The solution was very simple:

    files = {'photo': f}
    

    Instead of:

    files = {'file': f}