[unity 2022年度版]GoogleDrive でファイルを読み書きする準備

初めての OAuth2 ということで、Google Drive のファイルアクセス方法を探ってみました。
まだ深く理解の及ばないところはありますが、初めての人でもわかりやすいよう説明してみたいと思います。

Google Drive にアクセスするってどういう事?

unity のアプリから 特定の Google アカウント > ドライブ > プライベートファイル にアクセスする、というケースです。

文字で書くとややこしいですが、絵にするとこんな感じ(こういう事をしたい)。


細かい仕様は後から勉強するとして、これをするために必要な最低限の方法を列挙します。

  1. Google Cloud で OAuth2 サービス登録
  2. unity の空プロジェクトに UnityGoogleDrive をインストール、①の認証情報を登録
  3. GoogleDriveFiles クラスを使ってファイルアクセス

大まかにはこんなところ。①は長く、③は使うまでにコツが必要なので、記事を何回かにわけで紹介します。

Google Cloud で OAuth2 サービス登録

以下のサイトで、認証情報を扱うアプリケーションの登録を行います。

プロジェクトを作成

適当なプロジェクト名をつけて「作成」

作成したプロジェクトを選択して、OAuth 同意画面

今回は「外部」で「作成」

今回はテスト運用なので、アプリ名(適当)、ユーザーサポートメール、デベロッパーの連絡先だけ登録し、「保存して次へ」

ここは何も入力せず、次へ進めます

テストに参加するユーザーの Gmail アドレスを登録し、「保存して次へ」。テストアカウントは 100 名まで

作成直後は公開ステータスが「テスト」になっています。
この期間中、テストユーザーに登録されていないユーザーは認証に失敗します。
公開するためには様々な情報を Google に提示する必要があるようですが、ここでは触れません。

「ライブラリ」を選択

今回は Google Drive API を選択
もし画面上に自分の必要な API が表示されていない場合は、右上の「すべて表示」をクリック

認証情報 > + 認証情報を作成 > OAuth クライアント ID

Unity for Windows で動作させる場合「デスクトップアプリ」
マルチプラットフォームアプリの場合、ターゲットごとに OAuth クライアント ID を作成する
(Windows, iOS, Android であれば、それぞれに1つ、計3つの ID が必要)

「JSON をダウンロード」で、認証情報をダウンロード

テスト中の Google 認証画面

アカウントの選択(複数ある場合)

少し先の話になりますが、unity アプリから Google Drive アクセス開始時は必ず「アカウント選択 > アプリが Google Drive にアクセスしていいか確認」となります。
この時 gmail アドレスが「テストユーザー」として登録されていない場合、認証に失敗しますので注意してください。

テストユーザー登録済みの場合

「テスト中」のお知らせ。
続行で OK
いつもの許可画面

テストユーザー未登録の場合

認証アクセスをブロックされる
当然の動作だが一瞬???となる(私だけか)

次の記事

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA