Google Cloud Disk のチーム ディスク容量は比較的大きいため、一時ストレージまたはキャッシュとしてローカルにマウントする方が便利です。この記事では、Rclone を使用して Linux サーバーにマウントします。
RcloneにはGoogleドライブにアクセスするためのAPIが組み込まれていますが、共有する人が多すぎると速度制限によりアクセスできなくなる可能性があるため、独自のAPIを申請することを検討してください。
目次
3.2 致命的なエラー: トークンの取得に失敗しました: 「https://oauth2.googleapis.com/token」を投稿してください
1 GoogleドライブAPIを申請する
まず、Google Cloud コンソールに移動し、プロジェクトを作成します。
作成が完了したら、プロジェクトを選択し、API 構成インターフェイスに入ります。
「APIとサービスを有効にする」をクリックします。
次に、API ライブラリで「Google ドライブ」を検索するか、以下にリストされているライブラリで Google ドライブを選択します
APIを有効にすると、ウェブページは自動的にGoogle Cloud APIコンソールにジャンプします。このとき、「認証情報」-「認証情報の作成」-「OAuthクライアントID」の順にクリックします。
プロンプトによると、OAuth ID を構成するには、まず同意画面を構成する必要があります。
同意画面を構成するときに「外部」を選択します。それ以外の場合、この API は同じ組織内でのみ使用できます。
次に、アスタリスクの付いたフォームに記入します。ここで「アプリケーションの保存中にエラーが発生しました」というエラーが発生する可能性があります。アプリケーション名の競合が原因である可能性が高いため、通常とは異なるアプリケーション名を使用してみてください。
「範囲」設定インターフェースでは、何も変更する必要はありません。
「テスト ユーザー」インターフェースでは、Google アカウントをテスト ユーザーに追加できます。
作成したアプリケーションには「テスト」と「リリース」の2つの状態があり、リリース状態では誰でもアプリケーションにアクセスでき、テスト状態ではテストユーザーのみがアプリケーションにアクセスできます。アプリケーションを公開します。
同意画面の設定が完了したので、OAuth ID の設定に進みます。
ID とパスワードを記録するか、ID とシークレットを含む json ファイルを直接ダウンロードします。
ここまでは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 ドライブを選択した後、取得した API ID とシークレットを入力します。
次に、プログラムに完全な権限を与えます
次に、service_account_file は空白のままにすることができ、詳細設定と自動設定の場合は [いいえ] を選択します。
次に、Web 上でアプリケーションを認証する必要があります。ただし、サーバーにはブラウザがないため、Windows バージョンの rclone をダウンロードし、Windows 上でプログラムによって指定されたコマンドを実行し、認証用の Web ページを開くことしかできません。
まず、 rclone のダウンロード ページから Windows バージョンの rclone をダウンロードし、プログラムを任意のパスに解凍して、win+R を押して cmd を実行します。
cmd を入力した後、cd コマンドを使用して rclone プログラムが配置されているディレクトリに移動し、Linux システムで指定されたコマンドを入力します。
コマンドを実行すると、ブラウザは自動的に Google アカウントのログイン インターフェイスをポップアップ表示し、Google アカウントでログインします。私たちのアプリケーションは Google によって正式に認定されていないため、次のプロンプトが表示されることがありますが、これは正常なことであり、アプリケーションに移動するだけです。
次にアプリを認証します
認証が成功すると、Web ページに成功メッセージが表示されます。
次に、取得したトークンをコピーし、サーバー側のconfig_tokenに貼り付けます。
ここではチームディスクをマウントしたいので、yを選択します。個人用ディスクをマウントする場合は、n を入力します。
次に、プログラムはアカウントの下にあるすべてのチーム ディスクをリストします。マウントしたいものを選択するだけです。
次に、情報を確認します。
この時点で、「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 はトークンを取得できません。
报错:接続側が一定時間経過しても適切に応答しなかったため、接続試行が失敗しました。または、接続ホストが応答しなかったため、接続の確立に失敗しました。
このようなエラーが発生した場合は、cmd が Google のネットワークに接続されていないことになりますので、このとき cmd に適切なプロキシを設定する必要があります。詳細については、「Windows システムの cmd コマンド ライン ターミナルのプロキシの設定」を参照してください。