如何获取重定向URL

时间:2010-07-28 16:43:35

标签: java facebook url redirect

我遇到重定向问题,在我的工作中我必须连接到一个自动转到另一个URL的URL,此时它需要凭据(用户名和密码)并重定向到包含参数的URL需要我。我怎么能拿这个参数?

确切地说,我必须这样做:

  

使用您的client_id并将类型设置为user_agent,将网址https://graph.facebook.com/oauth/authorize嵌入到Web浏览器中。由于您的应用程序嵌入了一个小窗口,您可以使用display参数触发授权对话框的紧凑“弹出”版本:

graph.facebook.com/oauth/authorize?
    client_id=...&
    redirect_uri=www.facebook.com/connect/login_success.html&
    type=user_agent&
    display=popup
     

用户授权您的应用程序后,我们将用户重定向到www.facebook.com/connect/login_success.html,并在URL片段中使用访问令牌:www.facebook.com/connect/login_success.html#access_token=...&expires_in=...拦截上面的重定向并从URL中读取访问令牌。使用访问令牌代表用户从Graph API获取数据:   graph.facebook.com/me?access_token=...

我需要access_token

1 个答案:

答案 0 :(得分:0)

你可以使用apache http components httpclient来做到这一点, 它会自动跟随重定向

HttpClient client=new HttpClient();
GetMethod get=new GetMethod("graph.facebook.com/oauth/authorize?client_id=...&   redirect_uri=www.facebook.com/connect/login_success.html&type=user_agent&display=popup");
int status=client.exectueMethod(get);

然后,您将在响应的“位置”标题中获得所需的信息,您可以使用以下方式访问该标题:

String location=get.getResponseHeader("location").getValue();

并解析所需url片段的location-header。

希望有所帮助