Google がクライアントに OAuth の使用を強制し始めた今、バックアップ ターゲットとして Google ドライブを使用することは、実際には非常に混乱しています。それを説明する素晴らしいブログ投稿を見つけました。主な手順は次のとおりです。
PyDrive をインストールする
PyDrive は、Duplicity が OAuth を使用してドライブにアクセスできるようにするライブラリです。
pip install pydrive
または、ディストリビューションのパッケージマネージャーを使用できます。
API トークンを作成する
Google Developer Consoleに移動してログインします。プロジェクトを作成し、上部のツールバーのドロップダウンから選択します。

ダッシュボードの [API とサービスを有効にする] ボタンを選択します。このボタンは既に表示されているはずですが、表示されていない場合は、左側のハンバーガー メニューにあります。
Drive API を検索して有効にします。有効にすると、実際にトークンを作成できます。左側のナビゲーション バーから [資格情報] を選択し、[資格情報の追加] > [OAuth 2.0 クライアント ID] をクリックします。アプリケーションの種類を「その他」に設定します。

資格情報が作成されたら、資格情報をクリックして詳細を表示します。クライアント ID とシークレットが表示されます。それらに注意してください。

重複を構成する
うわー。プログラムを実際に構成する時間です。以下をファイルに貼り付け、クライアント ID とシークレットを上記のコンソールのものに置き換えます。
client_config_backend: settings
client_config:
client_id: <your client ID>.apps.googleusercontent.com
client_secret: <your client secret>
save_credentials: True
save_credentials_backend: file
save_credentials_file: gdrive.cache
get_refresh_token: True
(私は優れたDuplyフロントエンドを使用しているので、これを として保存しました~/.duply/<server name>/gdrive
)。
GOOGLE_DRIVE_SETTINGS
複製には、環境変数でこのファイルの名前を指定する必要があります。したがって、次のように重複を呼び出すことができます。
GOOGLE_DRIVE_SETTINGS=gdrive duplicity <...>
または、Duply を使用している場合export
は、Duply 構成ファイルで次の変数を使用できます。
export GOOGLE_DRIVE_SETTINGS=gdrive
Duplicity を初めて実行すると、OAuth プロセスが開始されます。アクセスするためのリンクが表示されます。このリンクは、以前にコンソールで作成したアプリがドライブ アカウントにアクセスする許可を求めます。受け入れると、端末に貼り付けるための別の認証トークンが提供されます。認証情報は、設定ファイル.cache
と一緒にファイルに保存されます。gdrive
この時点で準備完了で、Duplicity は正常に動作するはずです。幸運を!