我正在使用春季社交Facebook连接到Facebook。连接效果很好。我正在尝试使用以下代码获取用户的位置:
FacebookProfile profile = facebook.userOperations().getUserProfile();
Reference rLocation = profile.getLocation();
Location location= facebook.fetchObject(rLocation.getId(), Location.class);
但我得到的是一个空的位置对象(它没有任何细节)。我可以看到rLocation确实有一个名字(洛杉矶),但我也需要这个国家。
知道如何获取实际的Location对象吗?
答案 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。