Androidアプリで扱うデータを外部のSpreadsheetに保存することを目的とします。
library
今回はGoogle API Client Library for Javaの1.3.1-alphaを使ってみます。とりあえず,プロジェクトに次の3つのjarファイルを参照するように設定いたしました。
- google-api-client-1.3.1-alpha.jar
- google-api-client-googleapis-1.3.1-alpha.jar
- dependencies/guava-r08.jar
認証
Spreadsheetなど扱う前に,アプリケーションへ認証を与えることが必要になります。 ここではOAuthを用いた認証を行います。具体的な手順は, OAuth 1.0a for Google API's JavaDocに記載されています。
まずは,temporary credentials token ("request token") を入手します。 installed application では signature method に "HMAC-SHA1",consumerKeyとclientSharedSecretに"anonymos"を使うように求められていますので,それに従います。
HttpTransport transport = new ApacheHttpTransport();
GoogleOAuthGetTemporaryToken temporaryToken = new GoogleOAuthGetTemporaryToken();
OAuthHmacsinger signer = new OAuthHmacSigner();
signer.clientSharedSecret = "anonymous";
temporaryToken.signer = signer;
temporaryToken.displayName = appname;
temporaryToken.consumerKey = "anonymous";
temporaryToken.scope = "https://spreadsheets.google.com/feeds/";
temporaryToken.transport = transport;
それでは,TemporaryTokenの値を入手してみます。
OAuthCredentialsResponse credentials = temporaryToken.execute();
if (credentials != null) {
GoogleOAuthAuthorizeTemporaryTokenUrl temporaryTokenUrl = new GoogleOAuthAuthorizeTemporaryTokenUrl();
temporaryTokenUrl.template = "mobile";
temporaryTokenUrl.temporaryToken = credentials.token;
// Uri uri = new Uri(temporaryTokenUrl.build());
Log.d(TAG, "temoraryTokenUrl: " + temporaryTokenUrl.build());
}
https://www.google.com/accounts/OAuthAuthorizeToken?btmpl=mobile&oauth_token=...some_oauth_token....
この次は,このURLをWebViewに表示させまして,アプリケーションの認証を行います。
