GoogleドライブAPIを申請し、rcloneを使用してチームディスクをローカルディスクとしてマウントします

Google Cloud Disk のチーム ディスク容量は比較的大きいため、一時ストレージまたはキャッシュとしてローカルにマウントする方が便利です。この記事では、Rclone を使用して Linux サーバーにマウントします。

RcloneにはGoogleドライブにアクセスするためのAPIが組み込まれていますが、共有する人が多すぎると速度制限によりアクセスできなくなる可能性があるため、独自のAPIを申請することを検討してください。

目次

1 GoogleドライブAPIを申請する

2 Googleドライブをサーバーにマウントします

考えられる3つの問題

3.1 認証中のアクセス禁止

3.2 致命的なエラー: トークンの取得に失敗しました: 「https://oauth2.googleapis.com/token」を投稿してください


1 GoogleドライブAPIを申請する

まず、Google Cloud コンソールに移動し、プロジェクトを作成します。

新しいプロジェクトを作成する
新しいプロジェクトを作成する
必要に応じてプロジェクト名を入力します

 作成が完了したら、プロジェクトを選択し、API 構成インターフェイスに入ります。

API設定ページに入る

 「APIとサービスを有効にする」をクリックします。

「APIとサービスの開始」をクリックします。

 次に、API ライブラリで「Google ドライブ」を検索するか、以下にリストされているライブラリで Google ドライブを選択します

GoogleドライブAPIを検索

 APIを有効にすると、ウェブページは自動的にGoogle Cloud APIコンソールにジャンプします。このとき、「認証情報」-「認証情報の作成」-「OAuthクライアントID」の順にクリックします。

OAuth ID を作成する

プロンプトによると、OAuth ID を構成するには、まず同意画面を構成する必要があります。

 同意画面を構成するときに「外部」を選択します。それ以外の場合、この API は同じ組織内でのみ使用できます。

「外部」を選択します

 次に、アスタリスクの付いたフォームに記入します。ここで「アプリケーションの保存中にエラーが発生しました」というエラーが発生する可能性があります。アプリケーション名の競合が原因である可能性が高いため、通常とは異なるアプリケーション名を使用してみてください。

必要な情報を記入してください

 「範囲」設定インターフェースでは、何も変更する必要はありません。

「テスト ユーザー」インターフェースでは、Google アカウントをテスト ユーザーに追加できます。

作成したアプリケーションには「テスト」と「リリース」の2つの状態があり、リリース状態では誰でもアプリケーションにアクセスでき、テスト状態ではテストユーザーのみがアプリケーションにアクセスできます。アプリケーションを公開します。

アプリを公開して誰でも利用できるようにします。それ以外の場合は、テスト ユーザーのみが使用できます。

 同意画面の設定が完了したので、OAuth ID の設定に進みます。

OAuth ID の作成に進みます

 ID とパスワードを記録するか、ID とシークレットを含む json ファイルを直接ダウンロードします。

IDとキーをメモしておきます

 ここまではGoogleドライブのAPIにIDとキーを含めて申請しました。

 2 Googleドライブをサーバーにマウントします

まず、サーバーに Rclone をインストールする必要があります。rclone の公式ドキュメントでシステムのインストール方法を確認してください。以下では例として ubuntu20 を使用します。コマンド ラインで次のコマンドを順番に入力します。

apt update
apt install curl
apt install fuse
curl https://rclone.org/install.sh | sudo bash

 インストールが成功したら、コマンド ラインに「rclone config」と入力し、「n」を入力して新しいクラウド ディスクを作成し、名前を付けます。

新しいリモートを作成して名前を付ける

 Google ドライブを見つけて、その前にシリアル番号 18 を入力します。なお、rcloneのバージョンが変わるとGoogleドライブのシリアル番号が変わる場合がありますので、ご自身でシリアル番号をご確認ください。

Google ドライブを見つけてシリアル番号を入力します

 Google ドライブを選択した後、取得した API ID とシークレットを入力します。

IDとキーを入力してください

 次に、プログラムに完全な権限を与えます

フルアクセスを選択します

 次に、service_account_file は空白のままにすることができ、詳細設定と自動設定の場合は [いいえ] を選択します。

service_account_file Enter を直接押して、詳細および自動の場合は「n」を選択します

 次に、Web 上でアプリケーションを認証する必要があります。ただし、サーバーにはブラウザがないため、Windows バージョンの rclone をダウンロードし、Windows 上でプログラムによって指定されたコマンドを実行し、認証用の Web ページを開くことしかできません。

まず、 rclone のダウンロード ページから Windows バージョンの rclone をダウンロードし、プログラムを任意のパスに解凍して、win+R を押して cmd を実行します。

コマンドを実行します

 cmd を入力した後、cd コマンドを使用して rclone プログラムが配置されているディレクトリに移動し、Linux システムで指定されたコマンドを入力します。

赤枠内のコマンドをコピーします

cd コマンドで rclone ディレクトリに移動し、コマンドを貼り付けて実行します。

 コマンドを実行すると、ブラウザは自動的に Google アカウントのログイン インターフェイスをポップアップ表示し、Google アカウントでログインします。私たちのアプリケーションは Google によって正式に認定されていないため、次のプロンプトが表示されることがありますが、これは正常なことであり、アプリケーションに移動するだけです。

このプロンプトが表示されるのは正常です

 次にアプリを認証します

認可されたアプリケーション

 認証が成功すると、Web ページに成功メッセージが表示されます。

成功プロンプト

 次に、取得したトークンをコピーし、サーバー側のconfig_tokenに貼り付けます。

取得したトークンをサーバーに入力して返します

ここではチームディスクをマウントしたいので、yを選択します。個人用ディスクをマウントする場合は、n を入力します。

「y」を入力してチームディスクをマウントします

 次に、プログラムはアカウントの下にあるすべてのチーム ディスクをリストします。マウントしたいものを選択するだけです。

マウントするチームディスクを選択してください

 次に、情報を確認します。

情報を確認する

 この時点で、「googledisk」という名前のクラウド ディスクが作成されたことがわかります。「q」を押してプログラムを終了するだけです。

クラウドディスクが作成されました

 次に、新しく作成したクラウド ディスクをシステムにマウントする必要があります。

ネットワーク ディスクをマウントするコマンドは次のとおりです。

rclone mount 网盘名:网盘下的目录 即将挂载到的目录 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

ネットワーク ディスク名: rclone で作成したネットワーク ディスクの名前 (googledisk)

ネットワークディスク下のディレクトリ:Googleネットワークディスク下のディレクトリ

マウント先のディレクトリ: サーバー システム内のパス

私自身を例に挙げてみましょう。

 コマンドの実行後、他にエラーがない場合、プログラムはここで停止します。コマンドを終了するのではなく、ターミナルを直接切断し、実行を継続し、後続の操作のために新しいターミナルを開きます。

df -h コマンドを使用してシステム ディスクのステータスを確認すると、クラウド ディスクが正常にマウントされていることがわかります。

作成したネットワークディスクが正常にマウントされました

 この時点で、ネットワーク ディスク内のファイルに正常にアクセスできるようになりました。

ネットワークディスクファイルへの通常のアクセス

 上記はGoogleクラウドディスクのマウント方法ですが、他のクラウドディスクのマウント方法も同様です。

考えられる3つの問題

3.1 認証中のアクセス禁止

アカウントにアプリケーションへのアクセス権がないことが考えられますので、アプリケーションが公開されているか確認できます。アプリケーションがテスト状態にある場合は、自分のアカウントをテスト ユーザーに追加できます。

3.2 致命的なエラー: トークンの取得に失敗しました: 「https://oauth2.googleapis.com/token」を投稿してください

具体的なエラーは図に示されており、プログラムは Web ページ上に Success を表示しますが、rclone はトークンを取得できません。

rclone がトークンを取得できません

报错:接続側が一定時間経過しても適切に応答しなかったため、接続試行が失敗しました。または、接続ホストが応答しなかったため、接続の確立に失敗しました。

このようなエラーが発生した場合は、cmd が Google のネットワークに接続されていないことになりますので、このとき cmd に適切なプロキシを設定する必要があります。詳細については、「Windows システムの cmd コマンド ライン ターミナルのプロキシの設定」を参照してください。

おすすめ

転載: blog.csdn.net/diqiudq/article/details/126070602