2014-04-12 16 views
5

Zajmuję się tworzeniem aplikacji dla iOS z uwierzytelnianiem za pomocą Instagram API.niestandardowe Login Instagram API iOS

Mój kod do uwierzytelniania działa dobrze:

NSString *fullURL = [NSString stringWithFormat:@"https://instagram.com/oauth/authorize/?client_id=%@&redirect_uri=%@&response_type=code",KCLIENTID,kREDIRECTURI]; 
NSURL *url = [NSURL URLWithString:fullURL]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

instagramConnectWebView = [[UIWebView alloc] initWithFrame:self.view.bounds]; 
instagramConnectWebView.delegate = self; 
[instagramConnectWebView loadRequest:request]; 

Jeżeli wniosek jest wysyłany, mój Webview pokazuje standardowy interfejs Instagram logowania, gdzie użytkownik musi wstawić nazwę użytkownika i hasło by się zalogować. Jeśli logowanie się powiedzie, aplikacja jest przekierowywana do mojego adresu URL przekierowania, gdzie otrzymuję kod i token tego użytkownika.

Moje pytanie jest naprawdę proste, czy istnieje sposób na dostosowanie standardowego interfejsu logowania na Instagramie? Chciałbym umieścić w mojej aplikacji dwa proste UITextField (jeden dla nazwy użytkownika i jeden dla hasła) i kiedy użytkownik kliknie na moje logowanie UIButton, aplikacja powinna wysłać (POST lub GET?) Nazwę użytkownika i hasło do Instagrama i zwrócić odpowiedź (Zaloguj się sukces lub nie).

Mam nadzieję, że sobie wytłumaczyć.

Dzięki.

+0

Czy kiedykolwiek znalazłeś rozwiązanie? Próbuję też to rozgryźć. – GoldenJoe

+0

I nie, nie wiem, czy jest to możliwe i nadal jestem przy użyciu standardowego interfejsu na Instagram API :( – lubilis

+2

Jako użytkownik nie zaufa app, który tworzy własny ekran logowania do serwisu. Myślę, że nawet chociaż ekran logowania o Instagramie jest brzydki, myślę, że lepiej go zachować, ponieważ użytkownicy mogą bezpiecznie przekazywać swoje referencje bezpośrednio na Instagram. – dynamokaj

Odpowiedz

6

Można zrobić to za pomocą javascript. ładując widok WWW w tle:

Musisz uzyskać dostęp do pola tekstowego tego widoku WWW i przekazać wartość swoich niestandardowych pól interfejsu użytkownika, a następnie możesz wywołać zdarzenie OnClick przycisku "Prześlij" webView.

NSString *javaScript = @"document.getElementById('id_username').value = 'tfusername'"; 
NSString *javaScript2 = @"document.getElementById('id_password').value = 'tfpassword'"; 

do oceny każdego skryptu można nazwać: [webView stringByEvaluatingJavaScriptFromString:javaScript];

Można również zadzwonić skrypt nacisnąć przycisk logowania. To samo działa dla mnie. Może to ci pomoże.

+0

Świetny pomysł, spróbuję! – lubilis

+0

Aktualizacja: Instagram właśnie zmienił strona logowania i to już nie działa –

+0

@abhineet mogę zalogować się z własnym polem tekstowym nazwy użytkownika, hasła i UIButton na Instagramie ..? proszę pomóż mi.Dziękuję – ilesh

0

Utworzyłem otokę dla interfejsu API Instagram dla systemu iOS. Spójrz na to link. Pozwoli to również zorientować się, co należy zrobić.

+0

hi @kkocabiyik mogę zalogować się z własnym 'textfield' nazwy użytkownika, hasła i' Uibutton' na Instagram ..? proszę pomóż mi. – ilesh