从 Facebook SDK 检索国家 - IOS

Retrieve country from Facebook SDK - IOS

我正在使用 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"];

See here for more info..:)

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

  • 您正在查询的用户的个人资料中没有位置信息
  • 您正在使用的访问令牌没有授予 user_location 权限(通过调用 /me/permissions 检查)
  • 该位置没有国家/地区信息(极不可能)

顺便说一下,您的权限字符串有问题,user_location 被包含了两次,offline_accesspublish_stream 早就被弃用了。