所以我正在使用python脚本检查我的facebook上的新通知。当有未读通知时,脚本太完美了,但是当没有通知时,“except”子句会被执行,即使我之前输入了if else子句来尝试解决此问题。
代码:
while (True):
try:
graph = facebook.GraphAPI(access_token)
notifications = graph.get_object("me/notifications")
print "notifications"
if len(notifications['summary']) != 0:
unseen_notifications = notifications['summary']['unseen_count']
if(int(unseen_notifications) > 0):
print("> You have " + str(unseen_notifications) + " unseen Facebook notifications!")
ser.write("1")
print "Wrote to Arduino :D"
else:
print "No New Notifications"
ser.write("0")
except:
print "Notifications are null!"
ser.write("0")
time.sleep(5)
因此,每次没有新通知时,代码都会输入except子句,而这不是我需要的。 非常感谢任何帮助:D
答案 0 :(得分:0)
如果没有新通知,Facebook API可能不会返回任何内容。您还在“摘要”中遇到了一个关键错误。这意味着Facebook没有使用密钥'摘要'返回内容。如果没有新的条件。
尝试:
if notifications['data']:
或(因为这是你当前写的方式):
if not notifications['data']:
如果这些不起作用,请检查Facebook在没有新通知时给您的响应。只需打印该响应并调整if语句以检查该响应。
编辑:添加了评论中的答案