仅使用signed_request重建Facebook Javascript对象

时间:2012-02-24 21:26:31

标签: php javascript facebook

我们陷入了一个场景,我们刚建完的Facebook应用程序必须驻留在父iFrame中。 (直到现在我们都不知道这个) 我们想知道是否有办法通过仅使用'signed_request'令牌轻松构建PHP Facebook对象和JavaScript Facebook对象。 如果没有,尝试让父iFrame以某种方式向我们发送facebook cookies并且我们设置相同的cookie然后尝试构建对象是否有任何意义?

任何对此的帮助都会非常感激,因为我们在发布之前就已经停留了几天。

1 个答案:

答案 0 :(得分:1)

Facebook对象是在本地构建的。它甚至不需要signed_request。 我相信将签名的请求作为$ _GET参数传递给内部框架就足够了,所以Facebook类可以从那里选择它:

  public function getSignedRequest() {
    if (!$this->signedRequest) {
      if (isset($_REQUEST['signed_request'])) {
        $this->signedRequest = $this->parseSignedRequest(
          $_REQUEST['signed_request']);
      } else if (isset($_COOKIE[$this->getSignedRequestCookieName()])) {
        $this->signedRequest = $this->parseSignedRequest(
          $_COOKIE[$this->getSignedRequestCookieName()]);
      }
    }
    return $this->signedRequest;
  }

setAccessToken是一个公共函数,因此如果您需要访问令牌,也可以使用它。

可悲的是,我不够好给你一个关于JavaScript的建议:(