Python Flickr api空白响应

Python Flickr api空白响应,python,flickr,Python,Flickr,我正在尝试使用Python包在Flickr中管理我的一些照片。我很难让某些功能正常工作。我从以下几点开始: import flickrapi api_key='###MYkeyHERE###' api_secret'####MYsecretHERE###' flickr = flickrapi.FlickrAPI(api_key,secret=api_secret) 我还运行了令牌身份验证,并检查了我的Flickr帐户页面,以确保它工作正常 (token, frob) = flickr.ge

我正在尝试使用Python包在Flickr中管理我的一些照片。我很难让某些功能正常工作。我从以下几点开始:

import flickrapi
api_key='###MYkeyHERE###'
api_secret'####MYsecretHERE###'

flickr = flickrapi.FlickrAPI(api_key,secret=api_secret)
我还运行了令牌身份验证,并检查了我的Flickr帐户页面,以确保它工作正常

(token, frob) = flickr.get_token_part_one(perms='write')
flickr.get_token_part_two((token, frob))
当我运行以下命令以获取集合列表时,它将返回一个看似空的响应

photos = flickr.photos_search(user_id='MYuser@id', per_page='10')
答案看起来很简单:

<Element 'rsp' at 0x22c2e10>

这使我认为我的身份验证工作正常,但我犯了一些其他错误。非常感谢您的帮助。

我不认为您用错了。请看屏幕上的示例响应


出于好奇,我尝试了这个方法,得到了以下结果,与操作解析的XML响应字符串一致:

>>> photos
<Element 'rsp' at 0x2199a10>
>>> photos[0]
<Element 'photos' at 0x2199a30>
>>> photos[0][0]
<Element 'photo' at 0x2199cf0>
>>> photos[0][0].get('id')
'11124140143'
>>> photos[0][0].get('owner')
'62997566@N08'
>>照片
>>>照片[0]
>>>照片[0][0]
>>>照片[0][0]。获取('id')
'11124140143'
>>>照片[0][0]。获取('所有者')
'62997566@N08'
因此,我怀疑您正确地使用了API,但您可能需要进行一些实验,以了解如何最好地使用结果

根据,FlickrAPI调用的返回值为。这将有助于找出如何区分响应的内容:

>>> import flickrapi
>>> import xml
>>> api_key = 'my API key'
>>> api_secret = 'my API secret'
>>> flickr = flickrapi.FlickrAPI(api_key,secret=api_secret)
>>> r = flickr.photos_search(user_id='48439369@N00', per_page='10')
>>> xml.etree.ElementTree.dump(r)
<rsp stat="ok">
<photos page="1" pages="376" perpage="10" total="3754">
    <photo farm="8" id="10550639536" isfamily="0" isfriend="0" ispublic="1" owner="48439369@N00" secret="fb5a1b526c" server="7336" title="Morgan and Quinn" />
    <photo farm="3" id="10550684964" isfamily="0" isfriend="0" ispublic="1" owner="48439369@N00" secret="0091541055" server="2840" title="Morgan and Quinn" />
    ...
</photos>
</rsp>
>>> 
导入flickrapi >>>导入xml >>>api_密钥='我的api密钥' >>>api_secret='我的api secret' >>>flickr=flickrapi.flickrapi(api\u key,secret=api\u secret) >>>r=flickr.photos\u search(用户\u id=)48439369@N00,按第10页) >>>xml.etree.ElementTree.dump(r) ... >>>
ElementTree类提供了更多的方法来检查结果、遍历树并查找感兴趣的节点。

我不认为您用错了。请看屏幕上的示例响应


出于好奇,我尝试了这个方法,得到了以下结果,与操作解析的XML响应字符串一致:

>>> photos
<Element 'rsp' at 0x2199a10>
>>> photos[0]
<Element 'photos' at 0x2199a30>
>>> photos[0][0]
<Element 'photo' at 0x2199cf0>
>>> photos[0][0].get('id')
'11124140143'
>>> photos[0][0].get('owner')
'62997566@N08'
>>照片
>>>照片[0]
>>>照片[0][0]
>>>照片[0][0]。获取('id')
'11124140143'
>>>照片[0][0]。获取('所有者')
'62997566@N08'
因此,我怀疑您正确地使用了API,但您可能需要进行一些实验,以了解如何最好地使用结果

根据,FlickrAPI调用的返回值为。这将有助于找出如何区分响应的内容:

>>> import flickrapi
>>> import xml
>>> api_key = 'my API key'
>>> api_secret = 'my API secret'
>>> flickr = flickrapi.FlickrAPI(api_key,secret=api_secret)
>>> r = flickr.photos_search(user_id='48439369@N00', per_page='10')
>>> xml.etree.ElementTree.dump(r)
<rsp stat="ok">
<photos page="1" pages="376" perpage="10" total="3754">
    <photo farm="8" id="10550639536" isfamily="0" isfriend="0" ispublic="1" owner="48439369@N00" secret="fb5a1b526c" server="7336" title="Morgan and Quinn" />
    <photo farm="3" id="10550684964" isfamily="0" isfriend="0" ispublic="1" owner="48439369@N00" secret="0091541055" server="2840" title="Morgan and Quinn" />
    ...
</photos>
</rsp>
>>> 
导入flickrapi >>>导入xml >>>api_密钥='我的api密钥' >>>api_secret='我的api secret' >>>flickr=flickrapi.flickrapi(api\u key,secret=api\u secret) >>>r=flickr.photos\u search(用户\u id=)48439369@N00,按第10页) >>>xml.etree.ElementTree.dump(r) ... >>>
ElementTree类提供了更多的方法来检查结果、遍历树并查找感兴趣的节点。

我以前也遇到过同样的问题,在我将集合提取到flickr时没有结果。我所做的是将令牌作为参数包含在FlickrAPI中。请看下面。在这个实现中,我使用来自Flickr的json响应

import flickrapi
import simplejson as json

flickr = flickrapi.FlickrAPI(FLICKR_API_KEY, FLICKR_API_SECRET, token='#############', format='json')
sets = flickr.photosets_getList(user_id='##########')
sets = sets.replace('jsonFlickrApi', '').strip('()')
jsets = json.loads( sets )
photoset_group = jsets['photosets']['photoset']
for photoset in photoset_group:
    print photoset

我以前也遇到过同样的问题,在我将集合提取到flickr时没有结果。我所做的是将令牌作为参数包含在FlickrAPI中。请看下面。在这个实现中,我使用来自Flickr的json响应

import flickrapi
import simplejson as json

flickr = flickrapi.FlickrAPI(FLICKR_API_KEY, FLICKR_API_SECRET, token='#############', format='json')
sets = flickr.photosets_getList(user_id='##########')
sets = sets.replace('jsonFlickrApi', '').strip('()')
jsets = json.loads( sets )
photoset_group = jsets['photosets']['photoset']
for photoset in photoset_group:
    print photoset

啊,现在可以了。我一直在尝试打印照片。文本可以告诉我整个回答的结构,但我想不会。您可能不知道打印整个结构的方法?我没有太多将XMLRPC与Python结合使用的经验,但似乎在如何解释Flickr API调用的响应方面有一个良好的开端。docs.Python.org上的xml.etree.ElementTree上也有很多文档。我更新了我的答案——请再看一眼。太棒了!谢谢我会投票给你的,但我显然没有足够的代表权。啊,现在可以了。我一直在尝试打印照片。文本可以告诉我整个回答的结构,但我想不会。您可能不知道打印整个结构的方法?我没有太多将XMLRPC与Python结合使用的经验,但似乎在如何解释Flickr API调用的响应方面有一个良好的开端。docs.Python.org上的xml.etree.ElementTree上也有很多文档。我更新了我的答案——请再看一眼。太棒了!谢谢我会投票给你,但我显然没有足够的代表权。