Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的Facebook画布页面-可选应用程序授权?_Java_Facebook - Fatal编程技术网

Java中的Facebook画布页面-可选应用程序授权?

Java中的Facebook画布页面-可选应用程序授权?,java,facebook,Java,Facebook,我有一个Java版的facebook画布FBML应用程序。我试图在控制器中使用当前用户id,但不强制每个用户通过facebook.com/login.php访问grand app 问题是我不了解facebook应用程序的工作流程。为了获得userid,我需要提供fb sessionid。为了获得会话,似乎我必须将所有用户转发到。。。这将提示他们获得额外权限。问题是我不想强迫每个人给我额外的权限或登录。客人还应该能够使用功能有限的应用程序 如何在不将所有没有会话的人重定向到“权限”页面的情况下,将

我有一个Java版的facebook画布FBML应用程序。我试图在控制器中使用当前用户id,但不强制每个用户通过facebook.com/login.php访问grand app

问题是我不了解facebook应用程序的工作流程。为了获得userid,我需要提供fb sessionid。为了获得会话,似乎我必须将所有用户转发到。。。这将提示他们获得额外权限。问题是我不想强迫每个人给我额外的权限或登录。客人还应该能够使用功能有限的应用程序

如何在不将所有没有会话的人重定向到“权限”页面的情况下,将来宾和未授予我权限的来宾与其他来宾区分开来


谢谢。

我不知道Java API的详细信息,但我可以告诉您获取用户ID的两种方法。您知道的第一种方法是要求用户对应用程序进行身份验证。如果您正在使用FBML并添加一些HTML链接或表单元素,则无需将用户重定向到任何位置即可执行此操作,并且会出现一个“授权此应用”弹出页面。一旦他们授权了应用程序,您将在每个请求中传递
fb\u sig\u user
参数

其次,您可以在另一个参数中获得访客的用户ID,而他们没有授权您的应用程序。这是以
fb\u sig\u canvas\u user
的形式出现的,一旦用户以某种方式与您的应用程序交互,您就会得到它。这可能是通过单击FBML画布页面中的链接或单击其他用户发布的提要故事来实现的
fb_sig_canvas_user
允许您识别用户,但不能代表用户进行任何API调用。您仍然可以提示他们发布故事并发送邀请


但是,使用这两种方法,会有一些用户到达您的应用程序,而您无法知道他们是谁-甚至连他们的用户ID都不知道。这是为了保护用户的隐私,没有办法避免-您必须让他们单击某个东西,或者让他们授权。

我不知道Java API的任何细节,但我可以告诉您获取用户ID的两种方法。您知道的第一种方法是要求用户对应用程序进行身份验证。如果您正在使用FBML并添加一些HTML链接或表单元素,则无需将用户重定向到任何位置即可执行此操作,并且会出现一个“授权此应用”弹出页面。一旦他们授权了应用程序,您将在每个请求中传递
fb\u sig\u user
参数

其次,您可以在另一个参数中获得访客的用户ID,而他们没有授权您的应用程序。这是以
fb\u sig\u canvas\u user
的形式出现的,一旦用户以某种方式与您的应用程序交互,您就会得到它。这可能是通过单击FBML画布页面中的链接或单击其他用户发布的提要故事来实现的
fb_sig_canvas_user
允许您识别用户,但不能代表用户进行任何API调用。您仍然可以提示他们发布故事并发送邀请


但是,使用这两种方法时,会有一些用户到达您的应用程序,而您无法知道他们是谁——甚至连他们的用户ID都不知道。这是为了保护用户的隐私,没有办法避免——您要么让他们点击某个东西,要么让他们授权。

谢谢。最后,我在页面上添加了
标签,询问来宾是否希望通过访问login.php链接进行授权。您是否可以发布servlet/filter配置的详细信息?我想看一个验证握手过程的工作示例。谢谢。最后,我在页面上添加了
标签,询问来宾是否希望通过访问login.php链接进行授权。您是否可以发布servlet/filter配置的详细信息?我想看一个auth握手过程的工作示例。