web-dev-qa-db-ja.com

GoogleAPI更新トークンの制限

複数のGoogleカレンダーにアクセスする必要があるアプリケーションを開発しています。これらのカレンダーはすべて、さまざまなユーザーからのものです。そして今、私は同期にOAuth2を使用しています。しかし、私が理解しているように、クライアントIDごとに25個の更新トークンしか生成できません。

Note: Save refresh tokens in secure long-term storage and continue to use 
them as long as they remain valid. Limits apply to the number of refresh 
tokens that are issued per client-user combination, and per user across all clients, 
and these limits are different. If your application requests enough refresh tokens 
to go over one of the limits, older refresh tokens stop working.

アドバイスどおり、DBに更新トークンを保持しています。しかし、私の問題は、カレンダーを同期したいクライアントが増えたらどうなるかということです。限界を見落とす方法はありますか?もちろんありません。私が今考えているのは、クライアントIDをさらに作成することだけです。何かアドバイスはありますか?

17
user3360031

クライアントのユーザーと同様に、ユーザーあたり50(client-user)。 client_idではありません。アプリケーションを認証するユーザーごとに、最大50回認証することができます。受け取った各更新トークンは機能します。 50日を過ぎると、最初のものは機能しなくなります。また、最長6か月間機能しますが、6か月間使用しなかった場合は、無効になると思います。

あなたは、あなたを認証することをいとわない限り多くの人々にあなたのクライアント(client_id)を使用させることができます。問題はありません。

Google Oauth2ドキュメントから ここ

トークンの有効期限

付与されたトークンが機能しなくなる可能性を予測するには、コードを作成する必要があります。トークンは、次のいずれかの理由で機能しなくなる可能性があります。

•ユーザーがアクセスを取り消しました。

•トークンは6か月間使用されていません。

•ユーザーがパスワードを変更し、トークンにGmailスコープが含まれています。

•ユーザーアカウントが一定数のトークンリクエストを超えました。

現在、クライアントごとのユーザーアカウントごとに50の更新トークンの制限があります。制限に達した場合、新しいトークンを作成すると、警告なしに最も古いトークンが自動的に無効になります。この制限は、サービスアカウントには適用されません。

また、ユーザーアカウントまたはサービスアカウントがすべてのクライアントで持つことができるトークンの総数には、より大きな制限があります。ほとんどの通常のユーザーはこの制限を超えることはありませんが、開発者のテストアカウントは超える可能性があります。

複数のプログラム、マシン、またはデバイスを承認する必要がある場合、回避策の1つは、ユーザーアカウントごとに承認するクライアントの数を15または20に制限することです。GoogleApps管理者の場合は、追加の管理者ユーザーを作成して使用できます。一部のクライアントを承認します。

質問:これはどこで見つけましたか?少し紛らわしいGoogleに報告したい

注:更新トークンは安全な長期ストレージに保存し、有効である限り使用し続けます。 client-userの組み合わせごと、およびすべてのクライアントのユーザーごとに発行される更新トークンの数に制限が適用され、これらの制限は異なります。アプリケーションが制限の1つを超えるのに十分な更新トークンを要求すると、古い更新トークンは機能しなくなります。

35
DaImTo