我使用Java servlet实现了一个Facebook应用程序。我想知道如何在认证后从Facebook发送的HTTP请求中读取访问令牌。
Facebook发给我的请求如下:http://myserver/app/servlet#access_token=3108888%7C2.AQByEGAdEk7D5hs3.3600.130400.1-10005014%7C3XTVE&expires_in=4317
如何在Java servlet中读取访问令牌(这是一个片段而不是参数)?如果这是我要做的参数:
request.getParameter("access_token);
答案 0 :(得分:0)
要让facebook在http参数中发送包含access_token的请求,需要更改请求中的resoponse_type
参数。它有两种类型code
和token
。如果我们通过token
,则access_code
将位于url fragment,如果我们通过token
,则会将请求参数的密钥设为code
。
请参阅:Constructing a URL to the OAuth Dialog
对于access_code
的服务器端处理,例如在某些servlet中,需要将request_type
作为code
发送,否则只能通过javascript在客户端处理。