0

Googleのアプリケーションでファイルを取得するには、Google pickerを使用しています。以前は1回限りでしたが、アプリでのデータ操作が許可されていないため、ユーザーはドライブの変更を行い、アップロード/フェッチ処理を再度行う必要があります。ワークフローを簡素化し、ユーザーがファイル(スプレッドシート)のワンクリック更新/再同期を実行できるようにしたいと考えています。これを行うには、アプリケーションにfile_idを保存することを考えていますが、サービスを構築してファイルを取得するためにoAuthTokenを取得する必要があります。その正しいアプローチか、私が従うことができる他の仕組みがあれば教えてください。Googleドライブは以前にフェッチされたファイルを再フェッチ/リフレッシュします

現在のgoogle-pickerワークフローでは、oAuthToken、fileId、ファイル名を提供するクライアント側でjsを使用しています。サーバー側では、Pythonを使用してサービスを構築し、実際のファイルを取得します。

答えて

0

私の意見では、ファイルIDとアクセス/リフレッシュトークンを保存して、必要なときにファイルをフェッチするプロセスは正しい方法です。

Googleドライブを使用してファイルを管理するアプリケーションを作成しました。要するに私のプロセスは:

  1. ユーザーの同意と認証。
  2. ピッカーを使用してファイルをアップロードし、正常に動作すると必要なファイルデータを保存します。
  3. 我々はユーザー

にそれを表示する必要がある時はいつでも、私はこのことができます願っていたファイルのフェッチ(アクセストークンを持つのか、新しいアクセストークンを取得するにはリフレッシュトークンを使用)。

乾杯

+0

お返事ありがとうございます。では、アクセストークンとファイルIDの両方を保存しますか?私はaccesstokenがいくつかのシナリオで期限が切れると信じています。その場合、あなたはトークンをリフレッシュする必要があります。 – Mutant

+0

はい、私はfileID、AccessToken、およびRefreshTokenを保存しました。ファイルを取得するときには、fileIDとAccessTokenの両方が必要です。しかし、アクセストークンは短命であり、期限が切れたときにRefreshTokenを使用して新しいトークンを取得します。ユーザーが同意すると、auth_codeが取得されます。これは、AccessおよびRefreshトークンを取得する一度だけのコードです。そのトークンを使用してアクセスを取得し、トークンを更新してDBに保存しました。次に、ファイルを取得する必要があるときは、最初にAccessTokenが有効かどうかをチェックし、そうでなければRefreshTokenを使用して新しいアクセストークンを取得し、ファイルを取得します。 – arifin4web