我正在尝试在java中创建一个能够发布到用户facebook状态的webapp,并且我在授权过程中遇到了一些问题。基本上,我有一个struts2动作,将用户重定向到facebook登录页面,然后用“代码”重定向回给我。然后,我使用此代码访问另一个Facebook URL(将其换成访问令牌)。
问题是,我可能只是遗漏了一些简单的东西,这个第二个facebook网址没有重定向到一个动作,而是只返回一个带有访问令牌的页面。所以,我的问题是,我如何访问该令牌以放入我的数据库,最好不向最终用户显示访问令牌?
TLDR;知道如何从struts2中的动作调用请求到外部URL并解析响应而不向用户显示它吗?谢谢!
干杯, Lukas Rezek
答案 0 :(得分:3)
所以基本上你会想要3件:
所以流程是:
答案 1 :(得分:0)
要在struts操作中访问外部网站,您有两种选择。创建套接字并连接到外部站点并通过socket.outputstream发送请求,并通过socket.inputStream解析响应,或使用Apache HttpComponents或HTMLUnit等浏览器模拟器。
我不会让我的网络应用程序的用户在Facebook网站附近的任何地方 - 我会有自己的页面要求FB登录,并将使用上述两种方法之一处理与facebook网站的交互。我倾向于使用HTMLUnit,因为它看起来像是远程站点的浏览器。