0

Facebookでの認証にはfbconsoleを使用しています。

import fbconsole
fbconsole.APP_ID = '1234567890'
fbconsole.AUTH_SCOPE = ['publish_stream', 'publish_checkins', 'read_stream',         'offline_access']
fbconsole.authenticate()
newsfeed = fbconsole.get('/me/home', {'fields':'from,name,description,message'})
newsfeedData = newsfeed["data"]
for status in newsfeedData:
    print status['from']['name'];
    print status['created_time'];
    #print status['name']
    print status['message']
    #print status.encode("utf-8")
    print('##############################################################################')

status['from']['name']は友達の名前を示していますが、 status['message']KeyErrorを示しています。'status'辞書タイプで'message'キーがある場合、Facebookからニュースを印刷するにはどうすればよいですか?同じエラーがキーに印刷されてい'name'ます。

4

2 に答える 2

0

name」と「message」の値がない場合があり、そのような場合、facebook はそれらを応答に含めません。これがエラーをスローする理由である可能性があります。キーが存在するかどうかを確認する必要があると思います。しかし、正直なところ、Pythonでそれを行う方法がわかりません。

于 2013-02-05T15:44:26.453 に答える
0

Python の (try, except) ブロックを使用して問題を解決できます。例えば

try:
 print(status['message'])
except(KeyError):
 print("This post doesn't contain any message")
 continue
于 2013-12-07T07:28:52.557 に答える