【问题标题】:Facebook's "fb_sig" and "OAuth 2.0 for Canvas"Facebook 的“fb_sig”和“OAuth 2.0 for Canvas”
【发布时间】:2011-10-26 17:48:25
【问题描述】:

我正在尝试使用以下代码获取 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”参数?

【问题讨论】:

    标签: php facebook oauth-2.0


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      看看

      Facebook Canvas Auth

      Facebook Signed Request

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

      【讨论】:

      • 谢谢!我会继续寻找。我的应用程序是在 Flash 中完成的,它调用一个 php 文件来检索用户的朋友。由于该 php 执行了 require_login() ,因此它也需要身份验证数据(cookie 不可靠)。我曾经通过在 url 中发送“fb_sig”参数来解决这个问题,但现在我没有它们了,除了发送签名的请求(或它包含的数据)之外,我不确定要发送什么
      猜你喜欢
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      • 2014-09-09
      • 1970-01-01
      相关资源
      最近更新 更多