2013-06-01 8 views
7

iOSのFacebook SDKについての質問です。Facebook iOS sdkがユーザーIDを取得する

アクティブなセッションがある場合どのようにしてユーザーIDのみを取得できますか?

このサンプルコードを使用せずにこのIDを取得する簡単な方法はありますか?

if (FBSession.activeSession.isOpen) { 
     [[FBRequest requestForMe] startWithCompletionHandler: 
     ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *aUser, NSError *error) { 
      if (!error) { 
       // I can take the user id.. 
      } 
     }]; 
    } 

答えて

8

これは、ドットを使用して直接アクセスするのではなく、ユーザーIDを取得するための最良の方法です。

[[FBRequest requestForMe] startWithCompletionHandler: 
     ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *aUser, NSError *error) { 
      if (!error) { 
       NSLog(@"User id %@",[aUser objectForKey:@"id"]); 
      } 
     }]; 
+0

Facebookの新しいリクエストを実行することなくユーザーのIDを取得する方法を探しています(特に、私は非同期リクエストを使用しません)。 – Safari

+1

@Safariこのメソッドを使用しました。それは非常に少ない時間を消費します。それはボトルネックではありません。 – Dalinaum

+0

それは非同期に実行されるので、私にとっては大きな問題です...今は何とか終了するまで待たなければなりません。 – sudo

1
[FBRequestConnection startWithGraphPath:@"/me" 
          parameters:nil 
          HTTPMethod:@"GET" 
         completionHandler:^(
              FBRequestConnection *connection, 
              NSDictionary *result, 
              NSError *error 
             ) { 
          /* handle the result */ 
          _fbId = [result objectForKey:@"id"]; 
         }]; 
6
+ (NSString *)activeUserId { 
    return [FBSDKAccessToken currentAccessToken].userID; 
} 

あなたは、Facebook上ですでにログインしている場合。

+0

実際は非常にシンプルです;-)。 – TheEye

+0

ここにそのドキュメントがありますhttps://developers.facebook.com/docs/reference/ios/current/class/FBSDKAccessToken/ – Nazir

関連する問題