【问题标题】:Testing Django Facebook App测试 Django Facebook 应用程序
【发布时间】:2011-07-20 00:59:03
【问题描述】:

我正在使用 Fandjango 制作一个 Django 应用程序,并且我正在尝试使用 Django 的测试框架对其进行单元测试。唯一的事情是,为了有效地测试,我需要 Facebook 随每个请求发送的“signed_request”参数。现在我正在记录我的服务器从 Facebook 获得的请求,并复制 + 粘贴我获得的 signed_request 令牌,但这一次只能工作几个小时。

有没有一种简单的方法来处理这个问题而无需模拟整个 Facebook API?

谢谢!

【问题讨论】:

    标签: python django facebook django-testing


    【解决方案1】:

    您可以使用测试用户: http://developers.facebook.com/docs/test_users/

    我认为访问令牌永远不会过期,或者在您删除测试用户之前不会过期。

    【讨论】:

      【解决方案2】:

      嗯,我知道完全服务器端的身份验证也是可能的,只使用 OAuth 而不使用 Javascript SDK。在这种情况下,您应该能够自己获取有效令牌。我认为有些库可以用于此目的:

      http://pypi.python.org/pypi/django-social-auth/

      但是请注意,我自己从来没有这样做过,所以这更像是一个建议,而不是一个明确的答案。

      编辑

      social-auth 似乎有一些测试功能,能够自动登录到 Facebook 帐户。您可能可以从那里复制代码。

      【讨论】:

      • 嗯,我认为这并不能完全解决我遇到的问题。我遇到的问题是对我服务器的请求实际上来自带有签名有效负载“signed_request”的 Facebook。当我在测试期间模拟这些请求时,我只想在我的调用中包含“signed_request”,以便我的应用与 Facebook 正确通信。
      • 对不起,如果我让我感到困惑,这对我来说也没有多大意义。我过去使用过 Graph API 没有任何问题,但这次不同。
      最近更新 更多