1

我需要知道来自 google 帐户的 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 错误。有人知道使用 google reader api 检索阅读列表有什么问题吗?在此先感谢您的帮助!

4

1 回答 1

0

您可以在我对以下帖子的回答中找到此问题的解决方案。 谷歌阅读器供稿导入

谢谢。

于 2013-03-16T19:52:14.563 回答