Googleのアプリケーションでファイルを取得するには、Google pickerを使用しています。以前は1回限りでしたが、アプリでのデータ操作が許可されていないため、ユーザーはドライブの変更を行い、アップロード/フェッチ処理を再度行う必要があります。ワークフローを簡素化し、ユーザーがファイル(スプレッドシート)のワンクリック更新/再同期を実行できるようにしたいと考えています。これを行うには、アプリケーションにfile_idを保存することを考えていますが、サービスを構築してファイルを取得するためにoAuthTokenを取得する必要があります。その正しいアプローチか、私が従うことができる他の仕組みがあれば教えてください。Googleドライブは以前にフェッチされたファイルを再フェッチ/リフレッシュします
現在のgoogle-pickerワークフローでは、oAuthToken、fileId、ファイル名を提供するクライアント側でjsを使用しています。サーバー側では、Pythonを使用してサービスを構築し、実際のファイルを取得します。
お返事ありがとうございます。では、アクセストークンとファイルIDの両方を保存しますか?私はaccesstokenがいくつかのシナリオで期限が切れると信じています。その場合、あなたはトークンをリフレッシュする必要があります。 – Mutant
はい、私はfileID、AccessToken、およびRefreshTokenを保存しました。ファイルを取得するときには、fileIDとAccessTokenの両方が必要です。しかし、アクセストークンは短命であり、期限が切れたときにRefreshTokenを使用して新しいトークンを取得します。ユーザーが同意すると、auth_codeが取得されます。これは、AccessおよびRefreshトークンを取得する一度だけのコードです。そのトークンを使用してアクセスを取得し、トークンを更新してDBに保存しました。次に、ファイルを取得する必要があるときは、最初にAccessTokenが有効かどうかをチェックし、そうでなければRefreshTokenを使用して新しいアクセストークンを取得し、ファイルを取得します。 – arifin4web