由于facebook图形API使用JSON格式来显示数据。我希望使用python和facebook Graph API获取我的朋友喜欢的所有书名,但是当我的朋友没有读过任何书时,我的程序会停止。所以请给我一个检查字段是否存在的方法。谢谢。
这是我的代码:
导入请求 导入json
base_url =' 6365047697172' ACCESS_TOKEN =' CAACEdEose0cBANCFK1KuoSP6gZCOsmqZC17v1vZCmWrA5FW16pKs7iUoz2ZAIliZCFnIj32rZCVZB7KAh0aa6dqLudLoYZBI6Gs30VlZAY2JP7ZCzM0TpBCneRmKrpDT2PIFxxdScNbZASsKYPIkUXSpPKKsNCemKEuGBZB3uPXNiy4bW0DMKKQeuhQRns5xuXCDYNeVtyh17PZB09lgZBoipW2' base_url =' https://graph.facebook.com/' + base_url
fields =' friends {books,name}' url ='%s?fields =%s& access_token =%s' %\ (base_url,fields,ACCESS_TOKEN,)
def get_books(): """ 返回我的时间轴上的帖子列表 """
parameters = {'access_token': ACCESS_TOKEN}
r = requests.get(url)
result = json.loads(r.text)
friends = result["friends"]
frnd_data = friends["data"]
for frnd_name in frnd_data:
print frnd_name['name']
frnd_book = frnd_name['books'] #error when there is no field name books
f_b_name = frnd_book["data"]
for b_name in f_b_name:
print b_name['name']
get_books()
答案 0 :(得分:0)
如果在python中使用json模块,方法load(或loads)会将json映射到字典。然后你可以像对待字典一样对待它,这意味着你可以使用以下代码来询问它是否包含值
if field in json:
...
我希望有所帮助。