Facebookのpython-sdkで日本語を扱う場合の注意点

facebookのpython-sdkでにおいて、日本語をそのまま使うと例外が発生しました。そのため、同ライブラリで日本語を扱う場合、事前にutf-8などでエンコードしておく必要があります。または、ライブラリを拡張するのもいいと思います。

message = ‘メッセージ'
graph = facebook.GraphAPI(self.current_user.access_token)
self.graph.put_wall_post(message.encode('utf-8'))

理由)

facebookのpython-sdkを使ってGraphAPIにアクセスする場合、facebook-sdkは「GraphAPI」クラスの「request」メソッドを呼びます。

このメソッドで「urllib.urlencode(meg)」を実行しており、このmsgが日本語だとUnicodeEncodeErrorが発生するためです。

この記事が役に立った場合、シェアしていただけると励みになります!!