![](https://www.create-forever.games/wp-content/uploads/2022/04/20220417_1.jpg)
初めての OAuth2 ということで、Google Drive のファイルアクセス方法を探ってみました。
まだ深く理解の及ばないところはありますが、初めての人でもわかりやすいよう説明してみたいと思います。
Google Drive にアクセスするってどういう事?
unity のアプリから 特定の Google アカウント > ドライブ > プライベートファイル
にアクセスする、というケースです。
文字で書くとややこしいですが、絵にするとこんな感じ(こういう事をしたい)。
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-14.jpg)
細かい仕様は後から勉強するとして、これをするために必要な最低限の方法を列挙します。
- Google Cloud で OAuth2 サービス登録
- unity の空プロジェクトに UnityGoogleDrive をインストール、①の認証情報を登録
- GoogleDriveFiles クラスを使ってファイルアクセス
大まかにはこんなところ。①は長く、③は使うまでにコツが必要なので、記事を何回かにわけで紹介します。
Google Cloud で OAuth2 サービス登録
以下のサイトで、認証情報を扱うアプリケーションの登録を行います。
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-15.png)
プロジェクトを作成
![](https://www.create-forever.games/wp-content/uploads/2022/10/3cd6d3f8809781db1ee7a5502e041949-1.png)
適当なプロジェクト名をつけて「作成」
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-16.png)
作成したプロジェクトを選択して、OAuth 同意画面
![](https://www.create-forever.games/wp-content/uploads/2022/10/290d83e5ab2f91374b7c422c2ac9e8ec.png)
今回は「外部」で「作成」
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-18.png)
今回はテスト運用なので、アプリ名(適当)、ユーザーサポートメール、デベロッパーの連絡先だけ登録し、「保存して次へ」
![](https://www.create-forever.games/wp-content/uploads/2022/10/344b42950c50098262381150df759318.png)
ここは何も入力せず、次へ進めます
![](https://www.create-forever.games/wp-content/uploads/2022/10/62db5eff0a123dac137ace4d26c430d0.png)
テストに参加するユーザーの Gmail アドレスを登録し、「保存して次へ」。テストアカウントは 100 名まで
作成直後は公開ステータスが「テスト」になっています。
この期間中、テストユーザーに登録されていないユーザーは認証に失敗します。
公開するためには様々な情報を Google に提示する必要があるようですが、ここでは触れません。
![](https://www.create-forever.games/wp-content/uploads/2022/10/376bd3f45b5f083c9e1327a762092d38.png)
「ライブラリ」を選択
![](https://www.create-forever.games/wp-content/uploads/2022/10/09c2fd1fa04345dcc7c500ca17367d76.png)
今回は Google Drive API を選択
もし画面上に自分の必要な API が表示されていない場合は、右上の「すべて表示」をクリック
![](https://www.create-forever.games/wp-content/uploads/2022/10/b8d8e1a3447cf0972d2212a9ebdb3d28.png)
認証情報 > + 認証情報を作成 > OAuth クライアント ID
![](https://www.create-forever.games/wp-content/uploads/2022/10/4c8c6fd9b18b6896a7f08fae8ba22e2e.png)
Unity for Windows で動作させる場合「デスクトップアプリ」
マルチプラットフォームアプリの場合、ターゲットごとに OAuth クライアント ID を作成する
(Windows, iOS, Android であれば、それぞれに1つ、計3つの ID が必要)
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-17.png)
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-20.png)
「JSON をダウンロード」で、認証情報をダウンロード
テスト中の Google 認証画面
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-21.png)
少し先の話になりますが、unity アプリから Google Drive アクセス開始時は必ず「アカウント選択 > アプリが Google Drive にアクセスしていいか確認」となります。
この時 gmail アドレスが「テストユーザー」として登録されていない場合、認証に失敗しますので注意してください。
テストユーザー登録済みの場合
![](https://www.create-forever.games/wp-content/uploads/2022/10/d040e4fcb62eb9dbe70b432947bce311.png)
続行で OK
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-22.png)
テストユーザー未登録の場合
![](https://www.create-forever.games/wp-content/uploads/2022/10/image-23.png)
当然の動作だが一瞬???となる(私だけか)