2013-06-01 15 views
7

pytanie o Facebook sdk dla iOS.Facebook iOS sdk, aby wziąć identyfikator użytkownika

Jeśli mam aktywną sesję, w jaki sposób mogę uzyskać tylko identyfikator użytkownika?

Czy istnieje prosty sposób na uzyskanie tego identyfikatora bez użycia tego przykładowego kodu?

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

Odpowiedz

8

Jest to najlepszy sposób na pobranie identyfikatora użytkownika zamiast bezpośredniego dostępu za pomocą kropki.

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

Szukam sposobu na uzyskanie identyfikatora użytkownika bez konieczności uruchamiania nowego żądania na Facebooku (w szczególności, aby nie używać żądania asynchronicznego) – Safari

+1

@Safari Użyłem tej metody. Zużywa bardzo mało czasu. To nie jest szyjka butelki. – Dalinaum

+0

To dla mnie ogromny problem, ponieważ działa asynchronicznie ... Teraz muszę poczekać, aż to się jakoś skończy. – 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; 
} 

jeśli jesteś już zalogowany na Facebooku.

+0

Właściwie całkiem proste ;-). – TheEye

+0

Oto dokumentacja na ten temat https://developers.facebook.com/docs/reference/ios/current/class/FBSDKAccessToken/ – Nazir

Powiązane problemy