概要

Googleサービスの共通プロトコルであるGDataを使ってGoogleReaderにClientLoginしたのでメモ。

GDataって?

Googleが策定したウェブサービスのAPI仕様で、特定のサービスを指すものではない。
Googleが提供しているサービスの多くがこの仕様にもとづいて実装されており、
GDataプロトコルをしゃべれるクライアントライブラリが各言語に用意されている。

ClientLoginって?

GDataでは複数の認証方法が用意されていて、サービスの種類に合わせて適切な認証方法を選択することができる。
Authentication and Authorization in the Google Data Protocol

ClientLoginはIDとパスワードを使う一番単純な認証方法。

GoogleReaderって?

Googleが提供しているRSSリーダ。
古参のサービスのためGDataには一部対応のみだが、ClientLoginによる認証は可能。

コード


- (void)loadEntries {
  static GDataServiceGoogle* service = nil;
  service = [[GDataServiceGoogle alloc] init];
  [service setServiceID:@"reader"];
  [service setUserCredentialsWithUsername:@"cohakim.mabinogi@gmail.com"
                                 password:@"xxxxxxxxx"];

  NSURL *url = [NSURL URLWithString:@"http://www.google.com/reader/atom/feed/http://rua.erinn.biz/feed/rdf/mabijp1/index.rdf"];
  [service fetchFeedWithURL:url
                   delegate:self
          didFinishSelector:@selector(entryFeedTicket:finishedWithFeed:error:)];
}

- (void)entryFeedTicket:(GDataServiceTicket *)ticket
             finishedWithFeed:(GDataFeedBase *)feed
                        error:(NSError *)error {

  NSLog(@"%@", ticket);
  NSLog(@"%@", feed);
  NSLog(@"%@", error);
}