1

私はウェブサーバーを持っています。各クライアントはサーバーに接続され、Google ドライブ ファイルにアクセスできます。

Google ドライブ API の実装を作成しましたが、トークンに問題があります。

質問 1 あるユーザーが自分の Google ドライブにアクセスし始めると、サーバーはアクセス トークンを必要とします。まず、ドキュメントに本当にアクセスする必要があるかどうかをユーザーに尋ね、ユーザーが [アクセスを許可] をクリックすると、サーバーはアクセス トークンとリフレッシュ トークンを返します。サーバーは現在のユーザーの更新トークンを保存します。

その後、同じ人が再び来ると、サーバーは彼女の更新トークンを確認し、新しいアクセス トークンを自動的に生成します。リフレッシュ トークンを使用してアクセス トークンを生成できるため、ユーザーは再度 [アクセスを許可] をクリックする必要はありません。それが正しいか?Refresh トークンは、手動で無効にしないと永遠に存続するためです (無効にする方法はわかりませんが、何もしなければ永遠に存続することはわかっています)。

上記が正しい場合の質問 2 - その更新トークンをサーバーに保存するにはどうすればよいですか? 一方で、ユーザーの識別子が必要ですね。別の人が来たら、彼女の更新トークンを使用して彼女のアクセス トークンを生成する必要があるためです。DBに彼女のリフレッシュトークンがあるかどうかを確認する必要があります。しかし、識別子がない場合はどうすればわかりますか?

API にユーザーの識別子がありません: https://developers.google.com/drive/v2/reference/about#resource

4

1 に答える 1

1

1)正解です。ユーザーが初めてアクセスを許可したときに、アプリはアクセストークンと更新トークンを受け取ります。アクセストークンは短命ですが、ユーザーが手動で取り消さない限り、更新トークンが期限切れになることはめったにありません。ユーザーがアプリに戻ってきたときに、更新トークンが保存されている場合は、それを使用して、ユーザーの操作なしでアクセストークンを取得できます。

2)データベースなどの永続的なストレージソリューションを使用する必要があります。キーは、ユーザー情報サービスから取得したユーザーIDである必要があります。

詳細については、https://developers.google.com/drive/about-authを確認してください

于 2013-03-06T20:43:14.760 に答える