グーグルアカウントからrssリストを知る必要があります。次のAPIでsidとauthを取得し、成功しました。
// login and get sid & auth
NSURL* loginURL = [NSURL URLWithString:@"https://www.google.com/accounts/ClientLogin"];
ASIFormDataRequest* loginRequest = [ASIFormDataRequest requestWithURL:loginURL];
loginRequest.useCookiePersistence = NO;
[loginRequest addRequestHeader:@"User-Agent" value:@"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"];
[loginRequest setPostValue:@"reader" forKey:@"service"];
[loginRequest setPostValue:@"scroll" forKey:@"source"];
[loginRequest setPostValue:@"http://www.google.com/" forKey:@"continue"];
[loginRequest setPostValue:self.login forKey:@"Email"];
[loginRequest setPostValue:self.password forKey:@"Passwd"];
[loginRequest startSynchronous];
しかし、トークンを取得しようとすると失敗しました。
NSString *lUrlString = @"http://www.google.com/reader/api/0/subscription/list?output=json&client=scroll";
_rssRequest = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:lUrlString]];
NSString *authParam = [NSString stringWithFormat:@"GoogleLogin auth=%@", self.auth];
[_rssRequest addRequestHeader:@"Authorization" value:authParam];
[_rssRequest addRequestHeader:@"Cookie" value:[NSString stringWithFormat:@"SID=%@", [self sid]]];
[_rssRequest setHeadersReceivedBlock:^(NSDictionary *responseHeaders) {
NSLog(@"%@", responseHeaders);
}];
[_rssRequest setRequestMethod:@"GET"];
[_rssRequest setValidatesSecureCertificate:NO];
[_rssRequest setDelegate:self];
[_rssRequest setDidFailSelector:@selector(rssLoadFailed:)];
[_rssRequest setDidFinishSelector:@selector(rssLoadFinish:)];
[_rssRequest startAsynchronous];
- (void)rssLoadFailed:(ASIHTTPRequest *)req
{
NSError *error = [req error];
NSLog(@"%@", [error description]);
NSLog(@"Get token Failed: %d %@", [req responseStatusCode], [req responseStatusMessage]);
}
- (void)rssLoadFinish:(ASIHTTPRequest *)req
{
NSLog(@"%@", req);
NSData * returnData = [req responseData];
NSString* response;
response = [[NSString alloc] initWithData:returnData encoding:NSASCIIStringEncoding];
NSLog(@"%@", response);
}
rssリストを取得しようとすると、401エラーが発生しました。誰もがグーグルリーダーAPIを使用して読書リストを取得することの何が問題になっているのか知っていますか?よろしくお願いします!