Flickr API:用Python上传图片
我在通过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}