3

GoogleドライブとGoogleスプレッドシートにアクセスする必要があるアプリケーションを構築しています。ユーザーにhttps://mydomain.appspot.com/authenticateにアクセスしてGoogleログインフローを確認し、バックエンドがGoogleドライブとGoogleスプレッドの両方のアクセストークンを受け取るように認証する必要があります。Google OAuth 2.0の長期保存アクセストークン

その後、バックエンドでユーザーとのやり取りなしにドライブとシートにアクセスできるようにします。たとえば、スケジュールされたタスクを1時間ごとに実行し、ドライブとシートからデータを取得したいとします。バックエンドで、ユーザーが自分自身を認証したときに受け取ったトークンを使用するようにします。

これは可能ですか?私は本当にそう願っています。私はここで見てきました。私は本当に私を助けることができません。 https://developers.google.com/sheets/api/guides/authorizing

バックエンドはJavaで開発され、Google App Engineにデプロイされます。

答えて

2

長寿命のアクセストークンは、実際にはリフレッシュトークンと呼ばれます。ユーザーにアプリケーションを認証させてから、リフレッシュトークンを受け取る必要があります。リフレッシュトークンを使用して、必要なときにGoogle認証サーバーから新しいアクセストークンを要求することができます。

注:同じことではないサービスアカウントで自分自身を追跡しないでください。 Oauth2から得られた更新トークンを使用して自動スクリプトを実行できます。Googleの用語はちょっと混乱します。

ほとんどのものを処理する公式google javaクライアントライブラリをご覧ください。要求されたスコープへのユーザー補助金オフラインでアクセスした後 https://developers.google.com/identity/protocols/OAuth2WebServer#offline

、あなたがたときにユーザーに代わってのGoogle APIにアクセスするためのAPIクライアントを使用し続けることができます:あなたはで定義されるように設定オフラインアクセスに必要Using OAuth 2.0 with the Google API Client Library for Java

+0

毎時アクセストークンを更新する必要があるようです。アクセストークンの有効期間は3600秒です。 –

0

ユーザーはオフラインです。クライアントオブジェクトは必要に応じてアクセストークンを更新します。

関連する問題