Zaloguj się na Facebooku za pomocą FBGraph
Jestem nowy w rozwoju iOS. Chcę połączyć się z Facebookiem z mojej aplikacji na iPhone'a. podążałemFBGraph API aby zobaczyć, jak możemy korzystać z Facebooka w naszej aplikacji, takich jak:
Drukuje informacje o użytkowniku, który jest zalogowany:
FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me" withGetVars:nil];
NSLog(@"getMeButtonPressed: %@", fb_graph_response.htmlResponse);
lub lista przyjaciół:
FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me/friends" withGetVars:nil];
NSLog(@"getMeFriendsButtonPressed: %@", fb_graph_response.htmlResponse);
A to jestdoGraphGet
metoda wFbGraph.m
:
- (FbGraphResponse *)doGraphGet:(NSString *)action withGetVars:(NSDictionary *)get_vars {
NSString *url_string = [NSString stringWithFormat:@"https://graph.facebook.com/%@?", action];
//tack on any get vars we have...
if ( (get_vars != nil) && ([get_vars count] > 0) ) {
NSEnumerator *enumerator = [get_vars keyEnumerator];
NSString *key;
NSString *value;
while ((key = (NSString *)[enumerator nextObject])) {
value = (NSString *)[get_vars objectForKey:key];
url_string = [NSString stringWithFormat:@"%@%@=%@&", url_string, key, value];
}//end while
}//end if
if (accessToken != nil) {
//now that any variables have been appended, let's attach the access token....
url_string = [NSString stringWithFormat:@"%@access_token=%@", url_string, self.accessToken];
}
Najpierw musimy zalogować się na Facebooku, jak pokazano:
Domyślam się, że używa tego kodu w FbGraph.m (używającUIWebView
):
self.redirectUri = @"http://www.facebook.com/connect/login_success.html";
- (void)authenticateUserWithCallbackObject:(id)anObject andSelector:(SEL)selector andExtendedPermissions:(NSString *)extended_permissions andSuperView:(UIView *)super_view {
self.callbackObject = anObject;
self.callbackSelector = selector;
NSString *url_string = [NSString stringWithFormat:@"https://graph.facebook.com/oauth/authorize?client_id=%@&redirect_uri=%@&scope=%@&type=user_agent&display=touch", facebookClientID, redirectUri, extended_permissions];
NSURL *url = [NSURL URLWithString:url_string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
CGRect webFrame = [super_view frame];
webFrame.origin.y = 0;
UIWebView *aWebView = [[UIWebView alloc] initWithFrame:webFrame];
[aWebView setDelegate:self];
self.webView = aWebView;
[aWebView release];
[webView loadRequest:request];
[super_view addSubview:webView];
}
Moje pytanie dotyczy możliwości. Czy mogę mieć własny mechanizm, który otrzyma wiadomość e-mail i hasło od użytkownika, a następnie zaloguje się (podobnie jak inne metody, np. Drukowanie w konsoli, których uwierzytelnienie nie powiodło się lub udało się zalogować)?