1

我正在尝试使用以下代码获取 facebook 应该提供的“fb_sig”参数:

$parms='';
foreach ($_REQUEST as $name=>$val)
{
  if (substr($name,0,6)!='fb_sig') continue;
  if ($parms!='') $parms.='&';
  $parms.=$name.'='.$val;
}

我需要它以便将这些参数发送到需要使用 facebook api 的 php 代码(即获取朋友列表),到目前为止它可以正常工作。我从这里得到代码: http ://www.foobots.net/breakouts.html

但是当我激活“OAuth 2.0 for Canvas”以便能够使用 facebook credits api 时,“Parms”最终成为一个空字符串。根本没有“fb_sig”参数。当我解析 signed_request 时,它们也不存在。

是否可以使用“OAuth 2.0 for Canvas”并且仍然可以访问“fb_sig”参数?

4

2 回答 2

1

您的应用将设置为接收“fb_sig”参数或“signed_request”参数。fb_sig 参数是 Facebook 过去的做法。signed_request 是新方法。通过解码 signed_request 参数,我相信您可以访问包含在各个 fb_sig_* 参数中的相同信息。

对于较旧的应用程序,您可以通过更改高级应用程序设置中的高级选项“signed_request for Canvas”在 fb_sig_* 和 signed_request 之间进行切换。

新应用程序只有签名请求选项,在应用程序设置中没有更改它的选项。

请注意,这是截至 2011 年 9 月的情况,到明年,这一切可能已经改变了……再次。

于 2011-10-26T09:48:25.407 回答
0

看一下

Facebook 画布身份验证

Facebook 签名请求

我认为这两种方法不会同时起作用!希望有帮助

于 2011-04-04T20:02:21.960 回答