无法访问Flickr API方法,调用photos.search时报AttributeError求助
解决flickr_api库AttributeError问题的方案
嘿,我来帮你搞定这个问题!你遇到的AttributeError完全是因为用错了这个flickr_api库的正确调用姿势——这个版本(0.6.1)的库API设计和你写的不一样,不是直接实例化FlickrAPI类,而是有它自己的一套初始化方式。
错误原因
你代码里的flickr_api.FlickrAPI是不存在的,这个库并没有把这个类暴露在顶层模块里,所以Python找不到这个属性,直接抛出了错误。
修正后的代码
下面是能正常运行的版本,我调整了初始化和调用的方式:
import flickr_api print(flickr_api.__version__) api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' api_secret = 'YYYYYYYYYYYYYYYYYYYYYYY' # 第一步:先设置API密钥和密钥,这是这个库的标准操作 flickr_api.set_keys(api_key=api_key, api_secret=api_secret) # 第二步:用库封装好的Photo类调用search方法 photos = flickr_api.Photo.search(user_id='73509078@N00', per_page=10) # 可以加一段验证代码,看看返回的照片信息 for photo in photos: print(f"照片标题: {photo.title}, 照片ID: {photo.id}")
额外说明
- 如果需要访问私有照片,你还需要通过浏览器完成授权流程:
执行这段代码后会弹出浏览器,登录你的Flickr账号授权即可。flickr_api.auth.authenticate_via_browser(perms='read') - 这个库的所有API操作都是通过封装好的模型类(比如
Photo、User、Album等)来调用的,而不是自己实例化一个API客户端,这是它和其他一些API库的不同之处。
内容的提问来源于stack exchange,提问作者Heidi
相关产品推荐
相关产品推荐

