【发布时间】:2011-03-19 04:37:12
【问题描述】:
对于 Facebook fbml 应用,Facebook 正在发送此处解释的 signed_request 参数:
http://developers.facebook.com/docs/authentication/canvas
他们已经给出了解码这个签名请求的 php 版本:
如何在 python 中做同样的事情?
我尝试了 base64 模块,但出现了不正确的填充错误:
>>> base64.urlsafe_b64decode("eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOjEyNzk3NDYwMDAsIm9hdXRoX3Rva2VuIjoiMjk1NjY2Njk1MDY0fDIuRXpwem5IRVhZWkJVZmhGQ2l4ZzYzUV9fLjM2MDAuMTI3OTc0NjAwMC0xMDAwMDA0ODMyNzI5MjN8LXJ6U1pnRVBJTktaYnJnX1VNUUNhRzlNdEY4LiIsInVzZXJfaWQiOiIxMDAwMDA0ODMyNzI5MjMifQ")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/base64.py", line 112, in urlsafe_b64decode
return b64decode(s, '-_')
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/base64.py", line 76, in b64decode
raise TypeError(msg)
TypeError: Incorrect padding
【问题讨论】:
-
感谢我尝试了 base64 ,但我收到了这个错误:pastie.org/1054201
-
请实际发布显示错误的最小代码和实际错误。我们中的大多数人都没有耐心跟踪所有地方的链接。
-
注意:如果您偶然使用从搜索返回的 Azure blob URL,则需要从编码的 URL stackoverflow.com/questions/44338134/… 中去除尾随的“0”
标签: python facebook base64 decode