2012-09-11 132 views
1

我正在使用Facebook PHP SDK解码已签名的请求(由JS SDK提供)。已解码的响应正在发送算法,代码,issued_at时间戳和用户标识。在过去,我已经能够从请求(app_data文件,网页和喜欢布尔)拉更多的领域,更多的到更多的Facebook的文档页面上定义:Facebook签名请求部分响应

https://developers.facebook.com/docs/authentication/signed_request/

有什么我无法访问这些额外字段的原因?该应用程序已安装,并且位于页面选项卡内,我无法看到为什么它不会提供更多字段的具体原因,特别是app_data和page。

我也尝试使用上面的链接示例解码签名的请求,并仍然收到相同的响应。

http://cl.ly/image/1p0n1S3S0y0M

回答

3

我使用Facebook的PHP SDK来解码签名的请求(由JS SDK中提供)。

这意味着您从FB.login或FB.getLoginStatus获得的signed_request,我想?您只能从其中一个获得这里描述的数据,https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

您提到的其他信息,页面ID,用户是否喜欢该页面等等,仅在Facebook发布的signed_request中可用您的应用在初始加载时。

+1

这是修复。 JS signed_request与POST提供的不同(Facebook SDK可以解析的)。完善! –

+0

只是为了澄清 - 通过POST提供的签名请求是否可以在客户端被捕获?还是只能在服务器端访问? (即FB PHP SDK需要参与) – user1775598

+0

JavaScript无法访问POST数据,您将需要某种服务器端语言来访问POST数据。 – CBroe