【问题标题】:User location return null value用户位置返回空值
【发布时间】:2013-02-19 10:08:43
【问题描述】:

在我的应用程序中,当我检索用户位置时,它返回一个 Null 值,并且生日也返回 Null 值,代码如下,

 - (void)populateUserDetails {
if (FBSession.activeSession.isOpen) {
    [[FBRequest requestForMe] startWithCompletionHandler:
     ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error)           {
         if (!error) {
             self.userNameLabel.text = user.name;
             self.userProfileImage.profileID = [user objectForKey:@"id"];
             self.userbirthday.text=user.birthday;
             self.userloc=[[user objectForKey:@"location"]  objectForKey:@"name"];

         }
     }];
   }
 }

什么是代码错误?请帮我解决这个问题?

【问题讨论】:

  • 你有没有检查这个线程(stackoverflow.com/questions/12611847/…
  • 是的...不仅用户名正确可见只有位置和出生日期的问题
  • 这里的文档Facebook Doc。提到你需要生日和位置的权限才能找回它们。
  • 你试过self.userloc = [user.location objectForKey:@"name"];

标签: iphone facebook ios6


【解决方案1】:

对于生日和位置,您需要获得此类权限。所以你需要像这样请求权限:Facebook SDK Documentation

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
    NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"user_location", // you need to have this permission
                            @"user_birthday", // to be approved
                            @"user_likes",
                            nil];
    return [FBSession openActiveSessionWithReadPermissions:permissions
                                              allowLoginUI:allowLoginUI
                                         completionHandler:^(FBSession *session,
                                                         FBSessionState state,
                                                         NSError *error) {
                                         [self sessionStateChanged:session
                                                             state:state
                                                             error:error];
                                     }];
}

然后使用 FBRequest 来检索生日和位置。您可以访问用户名,因为它不需要特殊权限。

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 1970-01-01
    • 2023-03-10
    • 2016-07-13
    • 2019-11-08
    • 2012-07-30
    • 1970-01-01
    • 2018-12-10
    • 2016-11-13
    相关资源
    最近更新 更多