我正在尝试使用FBGraphObject
. 返回FBGraphObject
包含以下信息:
hometown = {
id = 112118618814985;
name = "La Paz, Bolivia";
};
(我的城市在玻利维亚国家被称为拉巴斯)。
如果它实际上会返回“状态”,这可以很好地工作。如果来自美国堪萨斯州威奇托的人运行我的应用程序,结果将是:
hometown = {
name = "Wichita, Kansas";
};
(那个人的城市是威奇托,在威奇托州,在美国……问题是FBGraphObject
不告诉我,这是在美国)。
当我第一次看到图形对象的 hometown 属性时,我立即认为我可以使用它,如果我只是使用 coma 标记 splat 字符串,得到这个:
La Paz
Bolivia
然后我会立即知道第一个对象代表一个城市,第二个代表一个国家。
但是对于像美国这样的国家,虽然第一个元素仍然代表一个城市,但第二个元素代表一个州,因此,我无法存储从那里标记化的数据。
如何使用适用于 iOS 的 FacebookSDK 正确获取国家、州、城市?我正在摸不着头脑,因为每个设法做到这一点的人似乎都让它与 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