我正在尝试使用Swift从iOS中的google登录API中查找登录帐户的电子邮件。我使用的代码与google开发者说明页面中给出的代码相同。
这是我的密码
description=[NSString stringAnd Format: @"%@ %@ %@ %@ %@ %@", person.display名称,person.gender,person.ageRange.min,person.ageRange.max,person.emails,person.birthday];
输出时,我打印这个"描述"ID是这样的:
Karanvir Singh男18 20(“GTLPlusPersonEmailsItem 0x7fbe4a67aee0:{值:\”karanvir95@gmail.com\“类型:\”帐户\“}”)(空)
我想知道,当我只想知道电子邮件ID时,如何删除多余的输出
我希望输出是这样的:
Karanvir Singh男18 20karanvir95@gmail.com 17/02/1995
按要求编码:
界面视图
@结束
@实现ViewController@synthesisigninbutton@综合信号手柄@综合信号处理@综合信息标签@综合描述;-(void)viewDidLoad{[super viewDidLoad];signOutHandle.hidden=true;}
-(void)refreshInterfaceBasedOnSignIn{if([[GPPSignIn sharedInstance]身份验证]{signOutHandle.hidden=false;signInHandle.hidden=true;infoLabel.text=description;}否则{
} }
>
(val)finishedAnd Auth:(GTMOAuth2Authentiation*)auth错误:(NSError*)错误{NSLog(@"接收错误%@和auth对象%@",错误,auth); if(错误) { // 在这里做一些错误处理。}
GTLServicePlus* plusService = [[GTLServicePlus alloc] init];
plusService.retryEnabled = YES;
[plusService setAuthorizer:[GPPSignIn sharedInstance].authentication];
GTLQueryPlus *query = [GTLQueryPlus queryForPeopleGetWithUserId:@"me"];
query.collection=kGTLPlusCollectionVisible;
[plusService executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLPlusPerson *person,
NSError *error){
if (error) {
GTMLoggerError(@"Error: %@", error);
} else {
// [person retain];
NSString *age = [NSString string];
description = [NSString stringWithFormat: @"%@ %@ %@ %@ %@ %@ %@", person.displayName,person.gender,person.ageRange.min,person.ageRange.max,person.emails,person.birthday,email];
NSLog(说明);}
GTLQueryPlus*query2=[GTLQueryPlus queryForPeopleListBackUserId:@"me"集合: kGTLPlusColltionVisight];
(GTLServiceTicket*票证, GTLPlusPeopleFeed*peopleFeed, NSError*错误){
if (error) {
GTMLoggerError(@"Error: %@", error);
} else {
// Get an array of people from GTLPlusPeopleFeed
*peopleList=peopleFeed.items;
}
}];
[self refreshInterfaceBasedOnSignIn];
}];
} }
-(iAction)SignerButton:(id)发送方{[[GPPSignIn sharedInstance]注销];[GPPSignIn sharedInstance]断开连接];
signOutHandle.hidden=true;
signInHandle.hidden=false;
infoLabel.text=@""; }
>
(void)断开连接{[[GPPSignIn sharedInstance]断开连接];}
(IBAction)signedIn:(id)发件人{GPPSignIn*SignIn=[GPPSignIn共享实例]; SignIn.shouldFetchGooglePlusUser=YES; SignIn.shouldFetchGoogleUserEmail=YES; SignIn.clientID=kClientId;
[UIApplication共享应用]委托;
签名。shouldFetchGoogleUserEmail=是;签名。代表=自我;
SignIn.scopes=@[kGTLAuthScopePlusUserinfoProfile, kGTLAuthScopePlusLogin, kGTLAuthScopePlusMe, kGTLAuthScopePlusUserinfoEmail]; SignIn.delegate=自己;[SignIn认证];电子邮件=(@"%@",SignIn.user电子邮件); NSLog(@"电子邮件:%@",电子邮件);}
(void)didDisconnectWithError:(NSError*)错误{if(error){NSLog(@“Received error%@”,error);}else{NSLog(@“用户已注销并断开连接”);//用户已注销并断开连接。//按照Google术语的指定清理用户数据。}
@结束
description = [NSString stringWithFormat: @"%@ %@ %@ %@ %@ %@ %@", person.displayName, person.gender,person.ageRange.min,person.ageRange.max,person.emails.value,person.birthday];
我想指出的是,你的人有零比特日
问题内容: 我希望django通过电子邮件而非用户名对用户进行身份验证。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个,所以我不能有一个。 另一个原因是所有电子邮件都是唯一的,但有时用户名已被使用。因此,我将自动创建用户名为。 我该如何更改才能让Django通过电子邮件进行身份验证? 这就是我创建用户的方式。 这就是我的登录方式。 除了先获取用户名外,登录还有其他方法吗?
我希望django通过电子邮件而不是用户名来验证用户。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个url
我已经实现了登录用户名或电子邮件在我现有的项目和工程罚款。我想将其扩展为使用用户名、电子邮件或电话登录。我想要一个用户登录用户名,电子邮件或电话号码和密码。 这是我的代码App\Http\Controllers\Auth\LoginController 应用程序\Http\控制器\Auth\注册控制器 注册工作正常,我可以将用户电话存储到用户表中。我已将电子邮件的输入类型更改为views/auth
在“登录苹果”上,如果用户选择了“隐藏我的电子邮件”,他将注册一个私人电子邮件ID。同样,如果同一个用户尝试使用原始电子邮件地址(使用任何社交媒体帐户或原始电子邮件id)注册,他将被视为不同的用户? 如何可能确保我们在注册后数据库中有一个唯一的用户?
我希望身份验证组件允许用户登录输入用户名或电子邮件。在我的用户表中,两个字段-userName和userEmail都是唯一的。注册时,密码生成如下: sha1($username.$password); 问题是用户无法使用电子邮件登录。 应用程序控制器 用户控制器:登录功能如下: Auth。php:(我在这里对生成密码的方式做了一些更改,因为我正在使用cakephp会话自动登录到SMF论坛。) 我
目前,我的代码使用IMAP(imaps)和JavaMail访问我的Gmail收件箱,目的是阅读从最新到最旧发送给我自己的电子邮件,识别哪些电子邮件具有. zip或. xap格式的附件。如果找到,电子邮件的主题会显示出来,并询问我是否要下载附件。 如果我单击否,它会继续搜索。如果我单击是,它会调用createFolder方法来创建一个目录,将附件保存在那里,然后提取它。 问题:我收件箱中最近的一封电