2011-08-17 2 views
1

iPhone 용 내 Xcode 4 프로젝트에 Facebook을 통합하여 연결했습니다. 다음은 iPhone FBconnec의 코드입니다. FBconnect.h 및 FBSession.h는 이미 포함되어 있습니다.iPhone FaceBook Connect가 공유되지 않는 경우 NULL 이메일을 반환합니다.

- (void)viewDidLoad{ _session = [[FBSession sessionForApplication:@"APPKey" 
             secret:@"APPSecret" 
            delegate:self]retain]; 

FBLoginButton* fbButton = [[[FBLoginButton alloc] init] autorelease]; 
fbButton.frame = CGRectMake(228, 50, 85, 50); 
[self.view addSubview:fbButton]; } 

코드는 정상적으로 작동하지만 사용자가 보낸 이메일을 선택하기 위해 FQL 쿼리를 실행할 때 일부 페이스 북 계정에 대해서만 사용합니다. 아래 그림과 같이 NULL이 표시됩니다.

length of users Array: (
    { 
    "contact_email" = "<null>"; 
    email = "<null>"; 
    "first_name" = Ali; 
    "last_name" = Subhani; 
    uid = 696377693; 
} 

어떻게 확장 권한을 얻을 수 있습니까? 쿼리를 실행하기 위해 다음 코드를 사용하고 있습니다. 어떤 단어가 포함되어 params, 나는 그것이 FBRequest와 뭔가해야한다고 생각합니다. 아래의 코드를 살펴보십시오

어디에서 사용자의 전자 메일을받을 수 있도록 확장 된 권한을 입력해야합니까?

감사합니다.

+0

해당 사용자는 프로필에 이메일 주소가 있습니까? 자신의 개인 정보 보호 설정에서 볼 수 있습니까? 때로는 데이터가 null이지만 유효합니다. –

답변

1

나는 허가 및 요청 이메일 액세스 (위의 @"email" 권한 키를 사용)에 ...

[appDelegate.facebook authorize: 
    [NSArray arrayWithObjects: 
    @"offline_access", @"email", @"user_checkins", @"publish_checkins", nil] 
         delegate:delegate 
        localAppId:localAppId]; 

를 사용합니다. 사용자에게 이메일 주소가 없어도 로그인 할 수 있는지 여부는 확실하지 않습니다.

그러나 Facebook은 일반 이메일 계정으로 전달되는 임의의 @ facebook.com 계정으로 사용자에게 난독 화 옵션을 제공합니다.

+0

appDelegate.facebook이 FBSession입니까? –

+0

Facebook.h의 전역 Facebook 객체입니다. –

+0

iphone 프로젝트에 사용중인 라이브러리의 링크를 Facebook.h –

관련 문제