gpt4 book ai didi

ios - FBLoginView获取电子邮件

转载 作者:行者123 更新时间:2023-12-01 19:08:47 27 4
gpt4 key购买 nike

我正在使用FBLoginView来获取电子邮件,它在获取user.email时给了我编译错误。

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView
user:(id<FBGraphUser>)user {
[self customizeFBButton];
NSString *name =[user.first_name stringByAppendingFormat:@" %@",user.last_name ];
NSLog(@"Access Token %@", [[FBSession.activeSession accessTokenData] accessToken]);
Consumer *c=[[Consumer alloc]init];
c.FullName=name;
c.ProfilePictureUrl=user.link;
c.AccountType=cAccountTypeFB;
c.Dob=user.birthday;
c.Email=user.email;

最佳答案

您需要使用FBLoginView添加读取权限“电子邮件”,例如,请参见下文。

- (void)viewDidLoad {

[super viewDidLoad];

FBLoginView *loginview = [[FBLoginView alloc] init];

// Ask for the required permissions

loginview.readPermissions = @[@"email",
@"basic_info",
@"user_location",
@"user_birthday",
@"user_likes"];

loginview.frame = CGRectOffset(loginview.frame, 5, 5);
loginview.delegate = self;

[self.view addSubview:loginview];

[loginview sizeToFit];
}

- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView
{

// Fetch user data

[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection,
id<FBGraphUser> fbUserData,
NSError *error)
{

if (!error)
{

if ([fbUserData objectForKey:@"email"])
{
NSString *FBEmail = [fbUserData objectForKey:@"email"];

if (![FBEmail isEqualToString:@""] && FBEmail != nil)
{

NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];

NSString *FBId = [fbUserData objectForKey:@"id"];

if (![FBId isEqualToString:@""] && FBId != nil)
{
[dict setObject:FBId forKey:@"FB_ID"];
}else
{
[dict setObject:@"" forKey:@"FB_ID"];
}

NSString *FBEmail = [fbUserData objectForKey:@"email"];

if (![FBEmail isEqualToString:@""] && FBEmail != nil)
{
[dict setObject:FBEmail forKey:@"FB_Email"];
}else
{
[dict setObject:@"" forKey:@"FB_Email"];
}

NSString *name = [fbUserData objectForKey:@"name"];

if (![name isEqualToString:@""] && name != nil)
{
[dict setObject:name forKey:@"FB_FullName"];
}else
{
[dict setObject:@"" forKey:@"FB_FullName"];
}

NSString *first_name = [fbUserData objectForKey:@"first_name"];

if (![first_name isEqualToString:@""] && first_name != nil)
{
[dict setObject:first_name forKey:@"FB_FirstName"];
}else
{
[dict setObject:@"" forKey:@"FB_FirstName"];
}

NSString *last_name = [fbUserData objectForKey:@"last_name"];

if (![last_name isEqualToString:@""] && last_name != nil)
{
[dict setObject:last_name forKey:@"FB_LastName"];
}else
{
[dict setObject:@"" forKey:@"FB_LastName"];
}

NSString *username = [fbUserData objectForKey:@"username"];

if (![username isEqualToString:@""] && username != nil)
{
[dict setObject:username forKey:@"FB_UserName"];
}else
{
[dict setObject:@"" forKey:@"FB_UserName"];
}

if ([[fbUserData objectForKey:@"gender"] isEqualToString:@"male"])
{
[dict setObject:@"Male" forKey:@"FB_Gender"];
}
else{
[dict setObject:@"Female" forKey:@"FB_Gender"];
}

NSString *birthday = [fbUserData objectForKey:@"birthday"];

NSDateFormatter *format1 = [[NSDateFormatter alloc] init];
[format1 setDateFormat:@"MM/dd/yyyy"];
NSDate *dateConversion = [format1 dateFromString:birthday];
//[format1 release];

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy-MM-dd"];

birthday = [format stringFromDate:dateConversion];

if (![birthday isEqualToString:@""] && birthday != nil)
{
[dict setObject:birthday forKey:@"FB_DOB"];
}else
{
[dict setObject:@"" forKey:@"FB_DOB"];
}
//[format release];

NSDictionary *locationDict = [fbUserData objectForKey:@"location"];
if(locationDict)
{
NSString *locationStr = [locationDict objectForKey:@"name"];
if(locationStr.length > 0)
{
NSArray *locationsComponentsArr = [locationStr componentsSeparatedByString:@","];

if([locationsComponentsArr objectAtIndex:0])
{
[dict setObject:[locationsComponentsArr objectAtIndex:0] forKey:@"FB_City"];
}else
{
[dict setObject:@"" forKey:@"FB_City"];
}
if([locationsComponentsArr objectAtIndex:1])
{
[dict setObject:[locationsComponentsArr objectAtIndex:1] forKey:@"FB_Country"];
}else
{
[dict setObject:@"" forKey:@"FB_Country"];
}
}
else
{
[dict setObject:@"" forKey:@"FB_City"];
[dict setObject:@"" forKey:@"FB_Country"];
}
}else
{
[dict setObject:@"" forKey:@"FB_City"];
[dict setObject:@"" forKey:@"FB_Country"];
}

NSLog(@"FBUserDataDictInfo: %@", dict);

dict = nil;
}
}
}
}];
}

关于ios - FBLoginView获取电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18217422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com