6

を使用してのFacebookからユーザー情報を取得するが、私はだNULLを取得していますfirstMatchでは、次のコード私はFacebookのから、基本的なユーザー情報を取得したいグラフAPI

-(void)checkForAccessToken:(NSString *)urlString { 
    NSError *error; 
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"access_token=(.*)&" options:0 error:&error]; 
    if (regex != nil) { 
     **NSTextCheckingResult *firstMatch = [regex firstMatchInString:urlString options:0 range:NSMakeRange(0, [urlString length])]; 
     if (firstMatch) { 
      NSRange accessTokenRange = [firstMatch rangeAtIndex:1]; 
      NSString *accessToken = [urlString substringWithRange:accessTokenRange]; 
      accessToken = [accessToken stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
      [_delegate accessTokenFound:accessToken];    
     }** 
    } 
} 

でいくつかの問題を抱えて、なぜ[_delegate accessTokenFound:accessToken ];このメソッドは呼び出されません。私は事前に感謝

のFacebook

からのユーザ情報のことができるようになるように

は、誰も私を助けてくださいことができます。

+0

をcredentials.-?公式のGraph APIを使うのではなく、なぜアクセストークンを手に入れたいのですか? – vinzenzweber

+0

あなたは通常、Facebook開発者マニュアル(https://developers.facebook.com/docs/mobile/ios/build/#graph)で提案されているようにするだけです。 – vinzenzweber

答えて

3

あなたはFacebookのSDKを使用しているアプリケーションIDとそれを初期化した後fbdid loginメソッドを呼び出し、

(void)fbDidLogin { 

NSLog(@"fbDidLogin"); 
isFacebookLoaded=YES; 


NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; 
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; 
[defaults synchronize]; 
NSLog(@"i am in and my acees token is %@ %@ and call me.CALLshowAloadingView",[facebook accessToken],[facebook expirationDate]) ; 
[self.facebook requestWithGraphPath:@"me" andDelegate:self]; 
if ([delegate respondsToSelector:@selector(showAloadingView)]) 
{ 
    NSLog(@" CALLshowAloadingView"); 
    // calling delegate method. For this method to function, the delegate should be implemented in the calling class. 
    [delegate showAloadingView];     
} 


// Inform the delegate that Login is successful 
if ([delegate respondsToSelector:@selector(loginStatus:)]) { 
    // calling delegate method. For this method to function, the delegate should be implemented in the calling class. 
    [delegate loginStatus:YES];     
    return; 
} 

}

関連する問題