OAuth2
Android を使用して、Google API で使用するトークンを取得することは可能AccountManager
ですか? 私が知っている唯一の他の方法はwebView
、ユーザーにログインさせてOAuth2
トークンを取得させることですが、多くの人がやりたいと思うほど多くの作業が必要になるようです。AccountManager
それははるかに良いでしょう。このような機能はありますか?
1 に答える
AccountManager
トークンを生成するためのものではありません - に関連する資格情報を保存するためだけですAccount
。これらのクラスは、Google サーバー アカウントに固有のものではありません。どのタイプのアカウントにも使用できます。たとえば、Facebook や Twitter などの OAuth2 トークンを保存するために使用します。
Google API を使用して OAuth2 トークンを生成する必要があります。このトークンはAccount
、AccountManager
. OAuth2 トークン生成の一部はサーバー自体で行われるため、Google API を使用する必要があります。Google は、発行したトークンと、それらが関連するサーバー アカウントの記録を保存します。トークンを生成するために Google API を呼び出さなかった場合、Google はトークンを Google サーバー アカウントに一致させる方法を認識できません。
を使用しWebView
て OAuth2 トークンを取得するというアプローチは、これを行う正しい方法です。
用に OAuth2 トークンを保存したら、それを使用してクエリを作成するときAccount
に、 からトークンを取得するだけです。AccountManager
そのため、OAuth2 トークンを生成する必要があるのは (有効期限が切れない限り) 1 回だけで、その後は何度も使用し続けることができます。