Google+ アカウントから現在のユーザーのメール ID、ユーザー ID、ユーザー名を取得するアプリケーションを作成しようとしています。コードの一部は次のとおりです。
- (IBAction)googleSigninBtnTapped:(id)sender
{
[GPPSignInButton class];
[GPPSignIn sharedInstance].clientID =[NSString stringWithFormat:@"MY APP ID"];
GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.delegate = self;
signIn.shouldFetchGoogleUserEmail = YES;
signIn.shouldFetchGoogleUserID = YES;
signIn.actions = [NSArray arrayWithObjects:
@"http://schemas.google.com/AddActivity",
@"http://schemas.google.com/BuyActivity",
@"http://schemas.google.com/CheckInActivity",
@"http://schemas.google.com/CommentActivity",
@"http://schemas.google.com/CreateActivity",
@"http://schemas.google.com/ListenActivity",
@"http://schemas.google.com/ReserveActivity",
@"http://schemas.google.com/ReviewActivity",
nil];
[signIn trySilentAuthentication];
}
(void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError )error
{
if (error)
{
NSLog(@"Status: Authentication error: %@", error);
}
else
{
NSLog(@"Status: Authenticated");
NSLog(@"Email: %@",[GPPSignIn sharedInstance].authentication.userEmail);
GTLServicePlus plusService = [[[GTLServicePlus alloc] init] autorelease];
plusService.retryEnabled = YES;
[plusService setAuthorizer:[GPPSignIn sharedInstance].authentication];
GTLQueryPlus *query = [GTLQueryPlus queryForPeopleGetWithUserId:@"me"];
[plusService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, GTLPlusPerson *person, NSError *error)
{
if (error)
{
GTMLoggerError(@"Error: %@", error);
}
else
{
[person retain];
NSLog(@"%@", person.displayName);
NSLog(@"%@", person.identifier);
}
}];
}
}
しかし、アプリを実行しようとすると、クラッシュして、
'-[__NSCFString gtm_stringByUnescapingFromURLArgument]: 認識されないセレクターがインスタンス 0x9e435b0 に送信されました'
誰でもこれについて私を助けることができます...!!!
前もって感謝します!!!