在 Parse 中使用 FBgraphUser 从 Facebook 获取用户电子邮件

Posted

技术标签:

【中文标题】在 Parse 中使用 FBgraphUser 从 Facebook 获取用户电子邮件【英文标题】:get user email from Facebook Using FBgraphUser In Parse 【发布时间】:2014-08-14 08:25:15 【问题描述】:

我正在尝试将用户电子邮件地址存储在 mt 解析数据库中,但我似乎无法找到完成此操作的正确方法 我的代码如下

FBRequest *request = [FBRequest requestForMe];
    [request startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *result, NSError *error) 


        if (error) 
            // Handle it
         else 
            PFUser *me = [PFUser currentUser];
            me[@"facebookId"] = result.objectID;
            me[@"facebookName"] = result.name;
            me[@"facebookProfile"] = result.link;

            [me saveEventually];
        
    ];

提前致谢

【问题讨论】:

【参考方案1】:

其实result是一个NSDictionary实例,符合FBGraphUser协议。这意味着它仍然可以被视为字典,例如您可以向它发送-objectForKey: 消息。实际上 FBGraphUser 协议只是为一些对象添加了一个“快捷方式”,存储在字典中。所以,通过调用:

NSString *mail = result[@"email"];

您将收到电子邮件。这是一个方便的等价物:

NSString *mail = [result objectForKey:@"email"];

对于用户查看Graph Api Reference的所有可能键。

【讨论】:

但我需要先收到电子邮件,而且似乎 FBGraphUser 没有收到电子邮件 对不起,我还是新手,我不明白你的意思你可以使用键值访问结果: 我现在添加这个,但我仍然从电子邮件地址得到 Null 如文档中所述,This field will not be returned if no valid email address is available. 我以为每个人在 facebook 上都有一个电子邮件地址?即使是 Facebook 电子邮件地址

以上是关于在 Parse 中使用 FBgraphUser 从 Facebook 获取用户电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

从视图控制器读取传递的数据

如何从原生 iOS Facebook SDK 获取用户兴趣?

如何使用 swift 从 Parse 上的用户指针中检索数据

如何使用 ObjectIds 数组从 Parse 中检索用户数组?

从最新到最旧对我的提要中的帖子进行排序(使用 Swift 和 Parse)

parse.com - 如何使用 PHP SDK 从 parse.com 查询和获取类似数组的 json?