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

从Facebook SDK-IOS检索国家/地区,ios,objective-c,facebook-graph-api,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:^(FBReques

我正在使用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
     {
         //...
     }
 }];
试试这个:

NSString *city = userData[@"location"][@"city"];
..:)

应该是@trick14概述的
[@“位置”][@“国家”]
。如果无法从中获取值,可能有多种原因:

  • 您正在查询的用户的配置文件中没有位置信息
  • 您正在使用的访问令牌没有授予的
    用户位置
    权限(请通过调用
    /me/permissions
    进行检查)
  • 没有该位置的国家/地区信息(不太可能)

您的权限字符串有问题,顺便说一句,
user\u location
包含两次,而
offline\u access
publish\u stream
早就被弃用了。

试试
[@“location”][@“country”]
。你所需要的就是这里,谢谢你,但是它返回为nil=\谢谢你的详细回答