0

バックアップ プログラムとして機能するデスクトップ アプリケーションを C# で作成しています。私がやりたいことは、ユーザーがいつバックアップを行うかのスケジュールを作成できるようにすることです。このスケジュールに基づいて実行されるバックグラウンドで実行される Windows サービスを作成しました。

現在、私のプログラムは、ユーザーが選択したファイルを、ユーザーが選択した別のローカル フォルダーにコピーします。ただし、これを拡張して、ユーザーが自分のファイルを定期的にクラウド、特に Google ドライブ アカウントにバックアップできるようにしたいと考えています。

ただし、これが可能かどうか、またはどうすればよいかはわかりません。ファイルをドライブ アカウントにアップロードするコードが動作していますが、プログラムを実行するたびにユーザーがプログラムにアクセス許可を付与する必要があります。私の質問は、これを自動的に行うにはどうすればよいですか? ユーザーにログイン資格情報を 1 回入力させてから、毎回アクセス許可を付与することなく、プログラムがドライブ アカウントに自動的にアクセスできるようにする方法はありますか?

4

1 に答える 1

1

ユーザーのアクセストークンをどこかに保存し、バックアップを行うときにそれを使用して新しい短期アクセストークンを要求する必要があります。GoogleドライブAPIドキュメントから:

Googleドライブアプリケーションは、認証コードの最初の交換時にのみ、長期間有効な更新トークンを受け取ります。この更新トークンは、短期間のアクセストークンの有効期限が切れた後に新しいアクセストークンを要求するために使用されます。ユーザーがアプリに戻るたびに取得するには、アプリケーションのデータベースに保存する必要があります。

アプリケーションでOAuthを設定するには、こちらのドキュメントを参照してください

于 2012-08-20T19:56:37.987 に答える