我正在使用 Fandjango 制作一个 Django 应用程序,并且正在尝试使用 Django 的测试框架对其进行单元测试。唯一的事情是,为了有效地测试,我需要 Facebook 随每个请求发送的“signed_request”参数。现在我正在记录我的服务器从 Facebook 获得的请求,并复制 + 粘贴我得到的 signed_request 令牌,但这一次只能工作几个小时。
有没有一种简单的方法可以在不模拟整个 Facebook API 的情况下处理这个问题?
谢谢!
我正在使用 Fandjango 制作一个 Django 应用程序,并且正在尝试使用 Django 的测试框架对其进行单元测试。唯一的事情是,为了有效地测试,我需要 Facebook 随每个请求发送的“signed_request”参数。现在我正在记录我的服务器从 Facebook 获得的请求,并复制 + 粘贴我得到的 signed_request 令牌,但这一次只能工作几个小时。
有没有一种简单的方法可以在不模拟整个 Facebook API 的情况下处理这个问题?
谢谢!
您可以使用测试用户:http: //developers.facebook.com/docs/test_users/
我认为访问令牌永远不会过期,或者在您删除测试用户之前不会过期。
好吧,我知道也可以在没有 Javascript SDK 的情况下仅使用 OAuth 对服务器端进行身份验证。在这种情况下,您应该能够自己获取有效令牌。我认为有些库可以用于此目的,例如:
http://pypi.python.org/pypi/django-social-auth/
但是请注意,我自己从来没有这样做过,所以这更像是一个建议,而不是一个明确的答案。
编辑
似乎 social-auth 具有一些能够自动登录 facebook 帐户的测试功能。您可能可以从那里复制代码。