Android JavaでGoogle Photos APIと繋げてデータを取ってみる

Android JavaでGoogle Photos APIと繋げてデータを取ってみる

JavaでAndroidアプリ作るのが初めてレベルですごく大変だったので、
手順とコードをまとめてみました

ネットにある程度情報は乗っていますが、
おそらくJavaの先輩方はあれでもわかるのかもしれんですけど
javascriptメインの僕にはきつかったので
Java新米の僕宛に書くつもりで書いてきます

コードはgitにアップしておきました
Photos APIとCredentialsが出来上がっていればすぐに使えるようになっているので、
参考にしてください

 

Android プロジェクトを作成

この内容で作成

 

Google Photos APIを登録する

 この辺りはネットで探せばすぐに出てくると思うのでこちらを参考にして
わからなければ探してみてください

Get started with Java client library

 

Credentialsを登録する

Credentialを作る
Credentialはandroidアプリ毎にpackage nameをつけないといけないので、
このプロジェクトでは「com.example.googlephotosapi」となっていますが、
自身のプロジェクトでOAuth認証を行いたい場合は自分のパッケージネームをいれてください

Credentialのタイプは「OAuth client ID」

 

 

これで完成

コード実装

app/bundle.gradle

AndroidManifest.xml

 

MainActivity.java

 

activity_main.xml

検証

デバッグモードで実行していきます

デバッグのポイントをいくつかつけときます

デバッグスタート

ちょうどここで実機ではこのような画面が出てきます

 

選択画面が出てくるのでGoogle Photoに画像をいれている方を選びます

 

 

アカウントを選択するとデバッグが進みますのでここまで行くとGoogle Photosから
responseデータが帰ってきています!!!
ちょうど「r」のところです
この「r」の中身をしっかりとみるために下のVariablesのところから
「r」のある行の一番みぎにある「View」をクリックして中身を確かめます

よかったちゃんときてる!!
今回はアルバムデータではなく写真を取ってくるmedeiaItemsを指定していたので
このようなデータの型になってます

ここまでデータを取れればあとはこれを処理してやるだけなので簡単だと思います

 

終わりに

今回初めてまともにJava使ってみましたが、最初は長くてめんどくさかったけど
型がしっかりしているのでちゃんとエラー出してくれてすごく安心してできたなー
と最後には思いました
連結部分だけでしたがやはり新米には難しいと感じることが多々あったので、
この記事が誰かの役に立てれば幸いです!

GItのレポ

https://bitbucket.org/hiyashikyuri/google-photos-api/src/master/

参考記事 

Get started with Java client library

AndroidアプリでGoogle Photos APIsを使ってみた!!

Access google photos API via Java

/google-auth-library-java

AndroidのGoogleSignInAPIを使ってOAuth認証を行う

Androidの新しいGoogleサインインAPIについて

GoogleAuthUtilを使ってOAuth 2.0 tokenを取得する

“Calling this from your main thread can lead to deadlock and/or ANRs while getting accesToken” from GoogleAuthUtil(Google Plus integration in Android) 

Method: mediaItems.list

Androidカテゴリの最新記事