Spring社交Facebook - 获取用户位置

时间:2012-07-21 11:33:18

标签: java spring facebook spring-social

我正在使用春季社交Facebook连接到Facebook。连接效果很好。我正在尝试使用以下代码获取用户的位置:

FacebookProfile profile = facebook.userOperations().getUserProfile();
Reference rLocation = profile.getLocation();
Location location= facebook.fetchObject(rLocation.getId(), Location.class);

但我得到的是一个空的位置对象(它没有任何细节)。我可以看到rLocation确实有一个名字(洛杉矶),但我也需要这个国家。

知道如何获取实际的Location对象吗?

1 个答案:

答案 0 :(得分:1)

您只能获取作为参考对象一部分的位置详细信息,这里是rLocation。您可以获取位置城市和位置状态,但位置国家/地区不是Reference对象的一部分。

    Reference rLocation = profile.getLocation();
    String locationName = rLocation.getName(); 
    String[] cityAndState = locationName.split(",");
    String city = cityAndState[0].trim();
    String state = cityAndState[1].trim();

Location对象基本上有助于获取用户在Facebook中检查位置的详细信息。有关更多详细信息,请参阅spring social facebook API。

http://static.springsource.org/spring-social-facebook/docs/1.0.x/api/org/springframework/social/facebook/api/Location.html