从Facebook SDK - IOS检索国家/地区

时间:2015-01-13 07:51:35

标签: ios objective-c facebook-graph-api

我使用Facebook SDK通过权限获取用户的详细信息:

[NSArray arrayWithObjects:@"user_photos",@"public_profile",@"user_location", @"user_birthday",nil];

我知道如何获得这个城市,但我怎样才能获得用户的国家?

FBRequest *request = [FBRequest requestForMe];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
 {
     if (!error)
     {
         NSDictionary *userData = (NSDictionary *)result;

         NSString *facebookID = userData[@"id"];
         NSString *name = userData[@"name"];
         NSString *city = userData[@"location"][@"name"];
     }
     else
     {
         //...
     }
 }];

2 个答案:

答案 0 :(得分:1)

它应该是[@"location"][@"country"],因为@ trick14概述。如果您无法从中获取值,则可能有多种原因:

  • 您查询的用户在其个人资料中没有位置信息
  • 您使用的访问令牌未获得授予user_location权限(请致电/me/permissions查询)
  • 该位置没有国家/地区信息(非常不可能)

您的权限字符串BTW存在问题,user_location包含两次,很久以前就弃用offline_accesspublish_stream

答案 1 :(得分:0)

试试这个:

NSString *city = userData[@"location"][@"city"];

See here for more info .. :))