目的
- Androidアプリからの Google Drive API Ver.3 (旧REST API) 使用方法をまとめる。
環境
- OS:Windows10 Professional 21H2
- Android Studio 2021.2.1
- ブラウザ:Google Chrome 103.0.5060.66(64bit)
概要
-
AndroidアプリからGoogle Drive APIを使う手順は以下の通り。
(a) アプリ情報登録
- Google APIコンソールで、これから作成するアプリケーションがGoogle Drive APIを使うことを指定し、必要な情報を登録する。
(b) 認証情報登録
-
Google Drive APIはユーザー毎のストレージ領域を利用するため、あらかじめ登録されたアプリを通してアクセスしたユーザーにのみAPIを使えるよう認証を行う。
-
AndroidアプリのAPKファイルは、改ざん防止のためアプリ署名鍵を用いてデジタル署名しているが、APIはアクセスしてきたアプリが登録されたものかどうかを、アプリ署名鍵を使用して生成した証明書のフィンガープリントを用いて識別する。
-
認証のためにサーバー側とクライアント(アプリ)側で共有する情報を設定する。
-
この時点では、開発中のアプリ認証用としてデバッグ用の情報を設定する。
(c) Androidアプリ開発
- API経由でGoogle Drive内のファイルへアクセスするアプリを開発する。
(d) Google PlayへのAndroidアプリ登録後の処理
-
Google Playへ登録したアプリはデバッグ時と異なる証明書で署名されるため、前述の認証情報としてデバッグ用に登録された情報は使えなくなる。
-
Google Playコンソールでアプリを登録後、同コンソールから認証情報を取得し、この情報をGoogle APIコンソールで設定する。
-
アプリがAPIを使って動作するときの流れと上記(a)~(d)の対応を以下の図に示す。赤枠で囲まれた(a)~(d)が上記手順に対応する。
(ファイルもプロセスもメモリ上のデータも同じ箱だったり、認証じゃなくて認可では?、とかいろいろ突っ込みどころはあるのであくまで雰囲気で)
参考
- AndroidアプリからのGoogle Drive API使用方法まとめ - アプリ情報登録編
- AndroidアプリからのGoogle Drive API使用方法まとめ - 認証情報設定編
- AndroidアプリからのGoogle Drive API使用方法まとめ - アプリ開発編
- AndroidアプリからのGoogle Drive API使用方法まとめ - アプリ登録後の認証情報設定編
変更履歴
- 2022/8/28 初版
- 2022/10/2 誤記修正