2012-05-06 7 views
0

私のiPhoneアプリにfacebook-ios-sdkを使用し、ユーザーがボタンを押したときに認証画面を起動します。しかし、私はいつも別の認証画面を取得します。iOS/iPhoneでFacebook認証画面が異なる

enter image description here

facebook = [[Facebook alloc] initWithAppId:@"167080433419201" andDelegate:self]; 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"]) { 
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; 
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; 
} 

if (![facebook isSessionValid]) { 
    NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_about_me",nil]; 
    [facebook authorize:permissions]; 
} 
+0

このコードでは、あなたは@ "user_about_me"の許可を得ています だからあなたにしか聞いていません – Johnykutty

答えて

0

私は解決策を見つけ、私は別の権限を試してみました:

これはあなたがここでより多くのアクセス許可の種類を見つけることができます

NSArray *permissions = [[NSArray alloc] initWithObjects: 
      @"user_likes", 
      @"read_stream", 
      nil]; 
     [facebook authorize:permissions]; 

単なる一例です。しかし、承認画面にはもう少し時間がかかります...

0

のOAuthが付与された取得するにはログインがユーザーが必要です。私は

enter image description here

他のアプリはこの1つを使用して...高度な設定で「強化認証ダイアログ」を有効にアプリのプライバシーリストに権限がない場合のアクセス許可。 ログイン後、アプリの許可リクエストを許可すると、access_tokenがリダイレクトされたURLから取得できます。

あなたの状況はまずログインして、iosテストアプリがすでにfacebookbookのプライバシーリストに登録されている可能性があります。

第2の画面は既にログインしていますが、最初の画面はログインしていませんでした。 FBSessionDelegateを使用して、access_token &の有効期限を保存する必要があります。

- (void)fbDidLogin { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; 
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; 
    [defaults synchronize]; 

} 
+0

しかし、他のアプリは秒の画面を表示しますか? – Flappy

+0

2番目の画面はすでにログインしていましたが、最初の画面は表示されませんでした。 最初のアプリは起動するたびにログインする必要がありますか? yseの場合は、access_tokenと有効期限を格納するようにFBSessionDelegateを調整する必要があります。 –

0

Facebookの認証時に設定したアクセス許可を確認します。 https://developers.facebook.com/docs/authentication/permissions/

+0

私は別の権限を試しましたが、私はいつも最初の画面を取得します... – Flappy

+0

あなたはFacebookのどのバージョンを使用していますか? あなたが試したコードを提供することができます – Johnykutty

+0

私は上記の私のコードをチェックして、SDKの最新バージョンを使用します。 – Flappy