2014-04-12 33 views
5

我正在使用Instagram API为身份验证开发iOS应用程序。自定义登录Instagram API iOS

我的身份验证代码工作良好:

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]; 

当请求被发送,我的web视图显示了标准Instagram的登录界面,在用户插入的用户名和密码登录。如果登录成功,应用程序将重定向到我的重定向URL,在那里我得到此用户的代码和令牌。

我的问题很简单,有没有办法自定义Instagram登录的标准界面?我想在我的应用程序中插入两个简单的UITextField(一个用于用户名和一个用于密码),当用户点击我的UIButton登录时,应用程序应该向Instagram发送(POST或GET?)用户名和密码,并返回响应登录成功与否)。

我希望我解释一下自己。

谢谢。

+0

你有没有找到解决方案?我也想弄明白这一点。 – GoldenJoe

+0

我没有,我不知道是否有可能,我仍然使用标准的Instagram API接口:( – lubilis

+2

作为一个用户,我不会相信一个应用程序,它创建一个服务的自己的登录屏幕,我想甚至虽然Instagram的oauth登录屏幕很丑,但我认为最好保留它,因为用户觉得直接把他们的凭证直接发送到Instagram是更安全的。 – dynamokaj

回答

6

您可以使用javascript进行设置。通过在后台加载网络视图:

您需要访问该Web视图的文本字段并传递自定义UItextfields的值,之后您可以调用webView的“提交”按钮的Onclick事件。

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

来评估每个脚本,您可以拨打:[webView stringByEvaluatingJavaScriptFromString:javaScript];

您也可以拨打脚本按登录按钮。这同样的事情对我有用。可能这会帮助你。

+0

好主意,我会试试! – lubilis

+0

更新:Instagram只是改变了他们的登录页面,这不再起作用 –

+0

@abhineet我可以在Instagram中用我自己的用户名,密码和UIButton文本框登录..?请帮助我,谢谢。 – ilesh

0

我为iOS的Instagram API创建了一个包装。看看link。这也会让你知道你需要做什么。

+0

hi @kkocabiyik我可以在Instagram中用我自己的'textfield'登录用户名,密码和'UIButton' ..?请帮帮我。 – ilesh