【发布时间】:2012-03-22 01:20:15
【问题描述】:
我的 python 代码使用 facebook API 来请求用户的信息。并且名称可以包含 Unicode 字符:
# -*- coding: utf-8 -*-
from facebook import Facebook
def desktop_app():
# Get api_key and secret_key from a file
facebook = Facebook('x', 'xx')
facebook.auth.createToken()
# Show login window
facebook.login()
# Login to the window, then press enter
print 'After logging in, press enter...'
raw_input()
facebook.auth.getSession()
info = facebook.users.getInfo([facebook.uid], [u'name', 'birthday', 'affiliations', 'sex'])[0]
for attr in info:
print '%s: %s'.encode('ascii') % (attr, info[attr])
friends = facebook.friends.get()
friends = facebook.users.getInfo(friends[0:5], [u'name', 'birthday', 'relationship_status'])
for friend in friends:
if 'birthday' in friend:
print friend['name'].encode('utf8'), 'has a birthday on', friend['birthday'], 'and is', friend['relationship_status']
else:
print friend['name'].encode('utf8'), 'has no birthday and is', friend['relationship_status']
arefriends = facebook.friends.areFriends([friends[0]['uid']], [friends[1]['uid']])
if __name__ == "__main__":
desktop_app()
当 Facebook 名称包含 Unicode 字符时出现此错误:
文件“C:\Python27\lib\encodings\cp437.py”,第 12 行,在编码中 返回 codecs.charmap_encode(输入,错误,encoding_map) UnicodeEncodeError:“charmap”编解码器无法在位置编码字符 u'\u0169' 7:字符映射到
如果你能帮我解决这个问题,请提前感谢! :)
【问题讨论】:
标签: python facebook unicode facebook-fql