我正在尝试连接到 Google RESTful API,但我所做的只是一个登录屏幕。
我的目标是能够使用 RESTful 在 Google 日历中创建日历。
我已经在 Google 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;
}
响应工作正常,但我得到的只是 Google HTML 登录信息。
我检查了一下,谷歌有它自己的 Objective-C 库,从我的角度来看,它太复杂了,而且不是基于 iDevices 而是基于桌面。
我的第一个问题是:
是否有一种简单的方法可以通过 REST(登录、令牌、CRUD...)仅发送和发布请求来完成这一切?
例如:http://www.googleapis.com/login?user=MY_EMAIL&password=MY_PASSWORD (<- of course not than simple / insecure but you get the idea...)
对于问题1,尝试实现这个NSURLConnection委托方法。 它允许您在服务要求时提供凭据。
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge