Flickr API:用Python上传图片

5 投票
2 回答
1840 浏览
提问于 2025-04-18 16:35

我在通过Flickr的API上传图片时遇到了问题。

我使用的是OAuthLib-requests这个库(可以在这里找到:https://github.com/requests/requests-oauthlib)。

Flickr的文档在这里:https://secure.flickr.com/services/api/upload.api.html

我的代码是:

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

但是我在内容中发现了这个错误:'没有指定照片'。

上传照片的正确方法是什么呢?

我已经通过身份验证了,其他的API调用(比如'flickr.photosets.create')都能正常工作。

谢谢大家的帮助!

2 个回答

2

我觉得Flickr只允许你上传图片和视频,其他类型的文件是不能上传的。

在你的代码里:

files = {'file': f}

你确定'file'这个文件是正确的类型吗?

1

这个解决方案非常简单:

files = {'photo': f}

而不是:

files = {'file': f}

撰写回答