如何通过id获取链接头像facebook直接

时间:2011-07-23 08:43:01

标签: android facebook-graph-api profile

我使用http://graph.facebook.com/id/picture让头像Facebook显示ImageView android。但它不会返回图像。它返回一些响应头,包括302重定向和位置头。

当我在浏览器中运行链接时,它会直接显示链接。

http://graph.facebook.com/hieu.trankim/picture

直接链接: http://profile.ak.fbcdn.net/hprofile-ak-snc4/203317_1661930338_3279866_q.jpg

我希望得到直接链接。请帮帮我。

1 个答案:

答案 0 :(得分:3)

302重定向提供新位置作为Location:标头。您可以通过以下方式使HttpURLConnection类不遵循重定向:HttpURLConnection.setFollowRedirects(false);

因此可以通过以下方式获得直接链接:

String address = "http://graph.facebook.com/hieu.trankim/picture";
URL url = new URL(address);
HttpURLConnection.setFollowRedirects(false); //Do _not_ follow redirects!
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
String newLocation = connection.getHeaderField("Location");

(为清楚起见省略了例外情况)

然后,重定向链接将存储在newLocation变量中。 如果您想要连接到某个站点并再次关注它们,请不要忘记更改setFollowRedirects(true)。 (或使用setInstanceFollowRedirects方法)。

来源:HttpURLConnection JavaDocs