无法使用Facebook 4.4.0 SDK获取电子邮件和公开个人资料

普里马尔·赫塔尼(Premal Khetani)

我目前正在使用Facebook SDK 4.4.0。在4.4.0之前的版本中,在4.3.0中,我们收到带有以下代码的电子邮件public_profile

NSArray *arrFBPermission = [[NSArray alloc]initWithObjects:@"email",@"public_profile", nil];
    [loginUsingFB logInWithReadPermissions:arrFBPermission handler:^(FBSDKLoginManagerLoginResult *result, NSError *error){ 
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error){
                      if (!error){
                          NSString *fnm = [result valueForKey:@"first_name"];
                          NSString *lnm = [result valueForKey:@"last_name"];
                      }
else{
     Nslog("%@", error localizedDescription);
}
                  }];
}

现在在新的SDK(即4.4.0)中,我没有得到这些值。为什么?我想要来自Facebook的电子邮件,名字,姓氏,ID。

阿什什·卡卡德(Ashish kakkad)

使用Facebook 4.4 SDK会有一点变化。您必须FBSDKGraphRequest从Facebook帐户中使用所需的参数来请求参数

在您的代码中有nilin参数:

使用如下参数更新代码:

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location , friends ,hometown , friendlists"}]

如果要使用“自定义按钮”登录Facebook,则可以使用如下完整代码:

- (IBAction)btnFacebookPressed:(id)sender {
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    login.loginBehavior = FBSDKLoginBehaviorBrowser;
    [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
     {
         if (error)
         {
             // Process error
         }
         else if (result.isCancelled)
         {
             // Handle cancellations
         }
         else
         {
             if ([result.grantedPermissions containsObject:@"email"])
             {
                 NSLog(@"result is:%@",result);
                 [self fetchUserInfo];
                 [login logOut]; // Only If you don't want to save the session for current app
             }
         }
     }];
}
-(void)fetchUserInfo
{
    if ([FBSDKAccessToken currentAccessToken])
    {
        NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);

        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error)
             {
                 NSLog(@"resultis:%@",result);

             }
             else
             {
                 NSLog(@"Error %@",error);
             }
         }];
    }
}

希望它对您有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用BlackBerry 4 OS进行电子邮件呈现

来自分类Dev

Laravel 4 Auth ::尝试使用电子邮件或用户名和密码

来自分类Dev

无法从CursorWindow中读取第0行第4列,该行有1行和4列

来自分类Dev

Ruby on Rails 4,Devise和个人资料页面

来自分类Dev

Rails 4,不使用sendmail发送电子邮件

来自分类Dev

Spring 4和带有实体管理器的Hibernate 4 / c3p0无法启动

来自分类Dev

范围(0 ... 4)和substringWithRange?

来自分类Dev

LinkedIn API:从电子邮件中获取公开个人资料

来自分类Dev

Laravel 4用户个人资料链接

来自分类Dev

在iOS应用程序中获取某人的Facebook公开个人资料

来自分类Dev

如何使用Facebook iOS SDK 4.x“请求”电子邮件权限?

来自分类Dev

Android Facebook SDK 4.X,如何获取电子邮件地址和Facebook访问令牌以将其传递到Web服务

来自分类Dev

如何从Facebook SDK 4 Whith Swift获取用户电子邮件

来自分类Dev

使用4.x Facebook SDK在Libgdx中共享Facebook

来自分类Dev

Android-如何使用Facebook SDK 4获取用户电子邮件

来自分类Dev

如何使用SDK4从带有Bot的MS Teams获得用户电子邮件?

来自分类Dev

如何使用Beautiful Soup4从Twitter用户个人资料获取位置?

来自分类Dev

Facebook PHP SDK 4

来自分类Dev

无法在Laravel 4中使用Facebook的PHP SDK获取用户个人资料

来自分类Dev

如何使用Java中的GoogleTokenResponse读取Google+个人资料和电子邮件范围数据?

来自分类Dev

FACEBOOK SDK v4返回空白电子邮件地址

来自分类Dev

Omniauth Facebook不返回电子邮件和性别信息4

来自分类Dev

如何使用SDK 4.4.0和API 2.3从Facebook用户个人资料中检索电子邮件?

来自分类Dev

Facebook4,Firebase,收到空电子邮件

来自分类Dev

如何使用电子邮件获取Gmail用户的个人资料图片

来自分类Dev

获取任何Facebook用户的公开个人资料

来自分类Dev

cordova-plugin-facebook4 在 loginSuccess 上获取姓名和电子邮件

来自分类Dev

使用 Facebook Graph API 搜索公开个人资料

来自分类Dev

使用 Facebook SDK 登录无法在 Swift 4 上收到电子邮件

Related 相关文章

  1. 1

    使用BlackBerry 4 OS进行电子邮件呈现

  2. 2

    Laravel 4 Auth ::尝试使用电子邮件或用户名和密码

  3. 3

    无法从CursorWindow中读取第0行第4列,该行有1行和4列

  4. 4

    Ruby on Rails 4,Devise和个人资料页面

  5. 5

    Rails 4,不使用sendmail发送电子邮件

  6. 6

    Spring 4和带有实体管理器的Hibernate 4 / c3p0无法启动

  7. 7

    范围(0 ... 4)和substringWithRange?

  8. 8

    LinkedIn API:从电子邮件中获取公开个人资料

  9. 9

    Laravel 4用户个人资料链接

  10. 10

    在iOS应用程序中获取某人的Facebook公开个人资料

  11. 11

    如何使用Facebook iOS SDK 4.x“请求”电子邮件权限?

  12. 12

    Android Facebook SDK 4.X,如何获取电子邮件地址和Facebook访问令牌以将其传递到Web服务

  13. 13

    如何从Facebook SDK 4 Whith Swift获取用户电子邮件

  14. 14

    使用4.x Facebook SDK在Libgdx中共享Facebook

  15. 15

    Android-如何使用Facebook SDK 4获取用户电子邮件

  16. 16

    如何使用SDK4从带有Bot的MS Teams获得用户电子邮件?

  17. 17

    如何使用Beautiful Soup4从Twitter用户个人资料获取位置?

  18. 18

    Facebook PHP SDK 4

  19. 19

    无法在Laravel 4中使用Facebook的PHP SDK获取用户个人资料

  20. 20

    如何使用Java中的GoogleTokenResponse读取Google+个人资料和电子邮件范围数据?

  21. 21

    FACEBOOK SDK v4返回空白电子邮件地址

  22. 22

    Omniauth Facebook不返回电子邮件和性别信息4

  23. 23

    如何使用SDK 4.4.0和API 2.3从Facebook用户个人资料中检索电子邮件?

  24. 24

    Facebook4,Firebase,收到空电子邮件

  25. 25

    如何使用电子邮件获取Gmail用户的个人资料图片

  26. 26

    获取任何Facebook用户的公开个人资料

  27. 27

    cordova-plugin-facebook4 在 loginSuccess 上获取姓名和电子邮件

  28. 28

    使用 Facebook Graph API 搜索公开个人资料

  29. 29

    使用 Facebook SDK 登录无法在 Swift 4 上收到电子邮件

热门标签

归档