我正在尝试使用FBGraphObject
获取用户的国家、州和城市信息。返回的FBGraphObject
包含以下信息:
hometown = {
id = 112118618814985;
name = "La Paz, Bolivia";
};
我的城市叫做拉巴斯,位于玻利维亚。
如果能够返回“州”的话,这将非常完美。如果来自美国堪萨斯州威奇托市的用户使用我的应用程序,结果将会是:
hometown = {
name = "Wichita, Kansas";
};
那个人所在的城市是威琪塔,位于美国中部的威琪塔州......问题是FBGraphObject
没有告诉我,这是在美国。
当我第一次看到图形对象的家乡属性时,我立刻想到如果我只需要使用逗号标记来分割字符串,就可以得到以下结果:
La Paz
Bolivia
然后,我会立即知道第一个对象代表一个城市,第二个对象代表一个国家。但是对于像美国这样的国家,尽管第一个元素仍然代表一个城市,但第二个元素代表一个州,因此,我无法存储从那里分词出来的数据。如何使用FacebookSDK for iOS正确获取国家、州和城市?我现在感到困惑,因为每个成功实现该功能的人似乎都是用PHP完成的,但我需要它能在iPhone上运行。编辑:记录一下,这就是我正在尝试获取所有信息的方式:
[FBRequestConnection startForMeWithCompletionHandler:
^(FBRequestConnection *connection, id result, NSError *error) {
if(error == nil)
{
FBGraphObject<FBGraphUser, FBGraphLocation> *graph = result;
NSLog(@"%@", graph);
[[SPAccount sharedAccount] linkFacebookAccountWithGraphObject:graph
andCompletionBlock:^(BOOL linked) {}];
}
}];
以下所有内容均返回
nil
:graph.location.country
graph.country
graph.location.location.country