使用FBLoginView
我可以登录用户并获取一个FBGraphUser
对象,该对象包含以下结构中的数据:
FBGraphUser
|---username
|---email
|---id<FBGraphPlace> location
|---place_name
|---id<FBGraphLocation> location
|---city
|---street
|---latitude/longitude
请参阅Facebook的documentation以获得更好的图片:)
我能够为用户的FBGraphPlace location
提供正确的place_name
数据,但FBGraphLocation
为空。
我想访问这些数据,这就是我难倒的地方。我确保用户的位置信息是公开显示的,我将readPermissions
FBLoginView
设置为包含@"user_location"
。
有谁知道我可能犯错误的地方?谢谢!
编辑 - 解决方案:我的Facebook地址字段为空。我把'当前城市'误认为是地址。
答案 0 :(得分:1)
尝试这样做:
id<FBGraphUser> fbUser = (id<FBGraphUser>)user;
id<FBGraphPlace> fbPlace = [fbUser location];
id<FBGraphLocation> fbLocation = [fbPlace location];
NSString * userCity = [fbLocation city];
NSString * userCountry = [fbLocation country];
NSString * userZip = [fbLocation zip];
您当前正在访问FBGraphPlace的name属性,该属性为您提供该地点的NSString表示。您要做的是访问位置属性FBGraphLocation。此对象具有所需各种组件的属性。
但我不确定这是你需要的。