简体   繁体   中英

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

I think Flickr does not let you upload any other file types than images and videos. In your code:

files = {'file': f}

are you sure 'file' is of the right type?

The solution was very simple:

files = {'photo': f}

Instead of:

files = {'file': f}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM