我正在使用Facebook js来允许用户的登录。js上的THe登录部分运行得很好,但我想捕获Facebook发送的signed_request (使用服务器端语言,如php或java)。阅读他们关于如何捕获signed_requests的文档(https://developers.facebook.com/docs/facebook-login/using-login-with-games/)并不是很有意义。他们声明“签名的请求通过HTTP POST发送到设置为Canvas URL的URL",所以我转到我的确切url (mywebsitenamehere.com/login.php ),我将其作为我的Canvas URL并添加代码来捕获POST'signed_request'。问题是什么都没有发生,我在login.php页面中添加了一些代码,如果POST变量是为了测试目的而设置的,则只需重定向到另一个网站,但什么也没有发生。我真的希望能有一个具体的例子来说明我应该做什么。在互联网上搜索一下,我找到了一些例子,但使用php登录的是人们,而我使用的是JS。
发布于 2013-05-04 23:17:31
它在你发布的链接的文本中:
“在Facebook.com上运行游戏时,可以访问签名请求参数”
因此,signed_request只能通过Facebook上的Canvas URL在Canvas应用程序中使用:https://apps.facebook.com/appnamespace
当然是页面应用中的...or。
也就是说,您可以使用PHP从其中获取数据($facebook->getSignedRequest()),或者使用链接中提供的函数(parse_signed_request)。
编辑:您不能在JavaScript中直接访问signed_request,但您可以使用您的服务器语言直接回显它。例如(没有经过测试,但你会明白的):
<script>
var signed_request = '<?php echo json_encode($signed_request); ?>';
</script>https://stackoverflow.com/questions/16375741
复制相似问题