FQL multiquery from python fails with unicode query

前端 未结 2 1459
予麋鹿
予麋鹿 2021-01-16 05:55

Using python 2.6.5 and facebook-sdk 0.3.2 this:

import facebook
api = facebook.GraphAPI(token)
api.fql({\'example\':u\"SELECT uid2 FROM friend WHERE uid1 = m         


        
2条回答
  •  春和景丽
    2021-01-16 06:03

    Maybe the problem is that you are mixing and matching the ASCII string on the left parameter with 'example', and using unicode on the right for the query string. Try this:

    api.fql({u'example':u"SELECT uid2 FROM friend WHERE uid1 = me()"})
    

    Try it the other way like this:

    api.fql({u'example':"SELECT uid2 FROM friend WHERE uid1 = me()"})
    

    I've known to show respect for the wild wooly world of unicode, maybe you are not encoding your ascii string correctly? Maybe try assembling your unicode string character by character with the unichr(...) command.

    If fiddling around with these doesn't fix the problem, then the conclusion is that the fql function pukes when passed unicode. The work around is to always use ASCII strings.

    Source: http://docs.python.org/howto/unicode.html

提交回复
热议问题