unicode should be encoded before parts not body.
<code>
def _signature(self, args):
parts = ["%s=%s" % (n, args[n].encode("utf-8") if isinstance(args[n], unicode) else args[n]) for n in sorted(args.keys())]
body = "".join(parts) + self.settings["facebook_secret"]
return hashlib.md5(body).hexdigest()
</code>
<code>
def _signature(self, args):
parts = ["%s=%s" % (n, args[n].encode("utf-8") if isinstance(args[n], unicode) else args[n]) for n in sorted(args.keys())]
body = "".join(parts) + self.settings["facebook_secret"]
return hashlib.md5(body).hexdigest()
</code>

コメントする