rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

googleドライブにアクセスするrcloneのインストール

2021 Jun. 05.

出典 Linuxでのrcloneの使い方 | アプリ開発ときどきアウトドア

rcloneパッケージをインストールする


googleドライブへの認証のためのクライアントIDとクライアントシークレットを取得する

Google API Console( https://console.developers.google.com/ )にログインして下記を行う

以下は Linuxでのrcloneの使い方 | アプリ開発ときどきアウトドア からの書き写し

プロジェクトの作成

[プロジェクトを作成]をクリックする。
任意のプロジェクト名を指定して[作成]をクリックする。

Google Drive APIの有効化

[APIとサービスの有効化]をクリックします。
[Google Drive API]を選択し、[有効にする]をクリックする。

OAuth2同意画面の構成

画面左メニューの[認証情報]をクリックし、[同意画面を構成]をクリックする。
表示された[OAuth同意画面]で、[外部]を選択し[作成]をクリックする。
 ※組織内ユーザは想定していないため[外部]を選択しています。
表示された[アプリ登録の編集]画面で、必須項目を入力し[保存して次へ]をクリックする。
 アプリ名: rclone
 ユーザーサポートメール: (googleアカウントに対応するメールアドレスを選択)
 メールアドレス: (任意のメールアドレス)

 ※ここではテストではなく本番として公開する想定なので、途中の「テストユーザの追加」等のテスト用の設定は無視します。

(メイン画面にはさわらず)画面左メニューの[OAuth同意画面]をクリックし、[公開ステータス]の[アプリを公開]をクリックする。
(「Googleアカウントを持つ全てのユーザーがアプリを利用できるようにします。」を字面通りに読むと危険に思えるかもしれませんが、このアプリを使用するためにはこの後発行されるクライアントIDとシークレットを知る必要があるのと、そのアプリを介して認証したユーザのGoogleドライブが見えるようになるだけなので、実質的に自分しかアクセスできません。)

OAuth2クライアントの登録

画面左メニューの[認証情報]をクリックし、[認証情報の作成]の[OAuthクライアントID」をクリックします。
表示された[OAuthクライアントIDの作成]画面で次を入力し、[作成]をクリックします。
  [アプリケーションの種類]: [デスクトップアプリ]
  [名前]: (任意)
OAuthクライアントが作成され、クライアントIDとシークレットが表示されるので、どこかに控えます。
(画面左メニューの[認証情報]の[OAuth2.0クライアントID]から対象のOAuthクライアントをクリックして、クライアントIDとシークレットを確認することもできます。)

初期設定とgoogleドライブ認証許可取得

$ cd
$ rclone config

No remotes found - make a new one
n/s/q> n

name> XXXX(任意) ## コマンドラインでのgoogleドライブのルートの名称となるので長いと不便

Type of storage to configure.
Storage> drive

Google Application Client Id
client_id> (Google API Consoleで取得したクライアントID)

OAuth Client Secret
client_secret>(Google API Consoleで取得したクライアントシークレット)

Scope that rclone should use when requesting access from drive.
scope> 1

ID of the root folder
root_folder_id> (Enter) 何も入力しない

Service Account Credentials JSON file path
service_account_file> (Enter) 何も入力しない

Edit advanced config? (y/n)
y/n> n

Remote config
y/n> n

URIが表示されるので、そのURIを自身でブラウザに張り付けて認証や同意する必要があります。
成功した場合は検証コードが表示されるので、その内容をコピペする

Log in and authorize rclone for access
Enter verification code> (検証コード)

Configure this as a Shared Drive (Team Drive)?
y/n> n

y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:
e/n/d/r/c/s/q> q