2012-02-04 65 views
0

我试图连接到谷歌的RESTful API的但我得到就去这么做是一个登录界面。iOS和谷歌的API REST

我的目标是能够创建使用REST风格的谷歌日历日历。

我已经创建了谷歌API控制台我的API密钥。

我这样做:

NSString* baseURL = @"https://accounts.google.com/o/oauth2/auth?"; 
NSString* url = [NSString stringWithFormat:@"%@%@",baseURL,[self dictionaryToURLStringVariables:[self authParameters]]]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; 
NSURLConnection *connection=[[NSURLConnection alloc] initWithRequest:request delegate:self]; 

验证参数

-(NSDictionary*)authParameters 
{ 
    NSDictionary* dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"code",@"response_type", redirectURI,@"redirect_uri", API_ID,@"client_id", @"https://www.googleapis.com/auth/calendar",@"scope", nil]; 
    return dictionary; 
} 

的响应,工作正常,但我得到的是谷歌的HTML登录。

我检查了与谷歌有它自己的Objective-C库是从我的角度来看过于复杂,不是基于的iDevices但桌面。

我第一个问题是:

有没有一种简单的方法通过REST做这一切(登录,令牌,CRUD ...)只发送和张贴请求?

e.g:http://www.googleapis.com/login?user=MY_EMAIL&password=MY_PASSWORD(< - 当然不是不是简单/不安全,但你的想法...)

+0

请限制每个岗位一个问题。 – Rayfleck 2012-02-04 16:35:49

+0

我删除了第二个。谢谢 – 2012-02-04 16:38:17

+0

好的,我删除了第二个答案:-) – Rayfleck 2012-02-04 16:41:26

回答

0

对于问题1,尽量实现此NSURLConnection的委托方法。它允许您在服务要求时提供凭证。

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge